<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毛片抽搐色欲 成人免费无码大片a毛片 | 免费久久精品国产片香蕉| 亚洲人成色777777精品| 久久精品网站免费观看| 亚洲一级毛片免观看| 日韩中文字幕精品免费一区| 亚洲成a人片在线观看中文app | 亚洲成a∨人片在无码2023| 暖暖免费高清日本中文| 亚洲国产精品久久久久秋霞小| 日韩中文无码有码免费视频| 精品国产亚洲AV麻豆| 国产精品免费_区二区三区观看| 色一情一乱一伦一视频免费看| 亚洲精品成人网久久久久久| 毛片基地看看成人免费| 亚洲国产精品无码av| 4虎永免费最新永久免费地址| 亚洲永久网址在线观看| 免费人成年激情视频在线观看| yellow视频免费在线观看| 亚洲AV无码久久精品狠狠爱浪潮| 最近中文字幕完整免费视频ww| 亚洲AV成人影视在线观看| 五月婷婷亚洲综合| 黄色免费在线网站| 91丁香亚洲综合社区| 亚洲精品无码久久久久AV麻豆| 两性色午夜视频免费网| 亚洲小视频在线播放| 国产a不卡片精品免费观看| 免费国产叼嘿视频大全网站| 亚洲一级在线观看| 亚洲日韩国产一区二区三区| 性xxxx视频免费播放直播| 亚洲色大成WWW亚洲女子| 亚洲精品夜夜夜妓女网| 成人无遮挡裸免费视频在线观看| 特级毛片aaaa级毛片免费|