<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 閱讀(244) 評論(0)  編輯  收藏

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


    網站導航:
     

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

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲午夜久久久久久尤物| 亚洲国产午夜福利在线播放 | 美女视频黄视大全视频免费的| 成人免费视频77777| 亚洲中文字幕人成乱码 | 亚洲精品成a人在线观看夫| 成年女人毛片免费观看97| 亚洲人成人77777网站不卡| 日韩免费一区二区三区在线 | caoporm超免费公开视频| 中文字幕亚洲天堂| 成人性做爰aaa片免费看| 亚洲国产美国国产综合一区二区 | 亚洲AV日韩综合一区| 国产精品二区三区免费播放心| 亚洲国产精品网站在线播放 | 国产精品永久免费10000| 亚洲国产熟亚洲女视频| 国产一级一片免费播放| 国产精品永久免费视频| 久久水蜜桃亚洲av无码精品麻豆| 日日麻批免费40分钟无码| 亚洲另类精品xxxx人妖| 国产无遮挡又黄又爽免费视频| 污网站免费在线观看| 亚洲国产精品无码久久SM | 成人免费一区二区三区在线观看| 337p日本欧洲亚洲大胆人人| 亚洲爽爽一区二区三区| 免费国产污网站在线观看15| 亚洲高清有码中文字| 国产成人精品久久亚洲高清不卡 | 好久久免费视频高清| 涩涩色中文综合亚洲| 亚洲综合av永久无码精品一区二区| 免费人妻无码不卡中文字幕系| 亚洲精品国产综合久久久久紧| 亚洲最大激情中文字幕| 亚洲中文无码永久免费| 中文字幕在线免费观看视频| 亚洲一本之道高清乱码|