<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    allen
    專注于java ee技術,包括struts,jsf,webwork,spring,hibernate,ibatis
    posts - 7,  comments - 9,  trackbacks - 0


    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Random;

    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class RadomCodeServlet extends HttpServlet
    {

    ?public void doGet(HttpServletRequest request, HttpServletResponse response)
    ???throws ServletException, IOException {
    ??doPost(request,response);
    ?}


    ?public void doPost(HttpServletRequest request, HttpServletResponse response)
    ???throws ServletException, IOException {
    ??//設置頁面不緩存
    ??response.setHeader("Pragma","No-cache");
    ??response.setHeader("Cache-Control","no-cache");
    ??response.setDateHeader("Expires", 0);
    ??//在內存中創建圖象
    ??int width=60, height=20;
    ??BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

    ??//獲取圖形上下文
    ??Graphics g = image.getGraphics();

    ??//生成隨機類
    ??Random random = new Random();

    ??//設定背景色
    ??g.setColor(getRandColor(200,250));
    ??g.fillRect(0, 0, width, height);

    ??//設定字體
    ??g.setFont(new Font("Times New Roman",Font.PLAIN,18));
    ??
    ??//隨機產生155條干擾線,使圖象中的認證碼不易被其它程序探測到
    ??g.setColor(getRandColor(160,200));
    ??for (int i=0;i<155;i++)
    ??{
    ????????? int x = random.nextInt(width);
    ????????? int y = random.nextInt(height);
    ????????? int xl = random.nextInt(12);
    ????????? int yl = random.nextInt(12);
    ????????? g.drawLine(x,y,x+xl,y+yl);
    ??}
    ??
    ??//取隨機產生的認證碼(4位數字)
    ??String sRand="";
    ??for (int i=0;i<4;i++)
    ??{
    ????? String rand=String.valueOf(random.nextInt(10));
    ????? sRand+=rand;
    ????? // 將認證碼顯示到圖象中
    ????? g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成
    ????? g.drawString(rand,13*i+6,16);
    ??}

    ??//將認證碼存入SESSION
    ??request.getSession().setAttribute("rand",sRand);


    ??//圖象生效
    ??g.dispose();

    ??//輸出圖象到頁面
    ??ImageIO.write(image, "JPEG", response.getOutputStream());??
    ?}
    ?
    ?//給定范圍獲得隨機顏色
    ?private Color getRandColor(int fc,int bc)
    ?{
    ??????? Random random = new Random();
    ??????? if(fc>255) fc=255;
    ??????? if(bc>255) bc=255;
    ??????? int r=fc+random.nextInt(bc-fc);
    ??????? int g=fc+random.nextInt(bc-fc);
    ??????? int b=fc+random.nextInt(bc-fc);
    ??????? return new Color(r,g,b);
    ??? }
    ?調用:
    ?<td height="25">
    ????????????<div align="right">
    ?????????????<font color="#000000">驗證碼:</font>
    ????????????</div>
    ???????????</td>
    ???????????<td align="left">
    ????????????<input type="text" name="randCode" size=10></input>
    ????????????<img style="cursor:hand" name="validatecode"
    ?????????????src=" servlet/RadomCodeServlet" height="17" align="middle"
    ?????????????onclick="document.validatecode.src=' servlet/RadomCodeServlet'">
    ???????????</td>

    posted on 2006-12-08 13:51 robbin163 閱讀(245) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲一区二区三区偷拍女厕| 四虎影视永久免费视频观看| 色久悠悠婷婷综合在线亚洲| 男女男精品网站免费观看| 国产亚洲精品免费| 香港经典a毛片免费观看看| 国产一区二区三区在线免费| 精品在线免费视频| 免费在线看片网站| 一边摸一边桶一边脱免费视频| 亚洲中文字幕丝袜制服一区| eeuss草民免费| 亚洲AV人人澡人人爽人人夜夜| 免费国产成人α片| 亚洲欧洲日韩综合| 成人男女网18免费视频| 亚洲AV无码资源在线观看| 亚洲?V乱码久久精品蜜桃| 久久嫩草影院免费看夜色| 亚洲AV永久无码精品| 精品国产免费人成电影在线观看| 麻豆狠色伊人亚洲综合网站| 国产精品免费看香蕉| 精品国产污污免费网站入口在线 | 色www永久免费视频| 精品国产亚洲AV麻豆 | 免费一级毛片一级毛片aa| 国产99久久久国产精免费| 亚洲成a人片77777kkkk| 免费大片黄在线观看yw| 羞羞漫画小舞被黄漫免费| 亚洲AV无码欧洲AV无码网站| 国产在线观看免费观看不卡| 免费高清A级毛片在线播放| 亚洲av永久无码制服河南实里| 毛片大全免费观看| 美女网站在线观看视频免费的| 亚洲国产精品成人综合久久久| 免费看国产一级特黄aa大片| 免费女人高潮流视频在线观看| 亚洲熟妇无码av另类vr影视|