<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)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av无码专区在线播放| 亚洲精品国产福利一二区| 亚洲综合久久久久久中文字幕| 一级毛片在线免费视频| 亚洲午夜AV无码专区在线播放 | 在线观看视频免费完整版| 亚洲中文无码线在线观看| 免费看男女下面日出水来| 国产精品亚洲四区在线观看| 女性无套免费网站在线看| 亚洲AV日韩AV一区二区三曲| www.亚洲精品| 中国在线观看免费的www| 亚洲高清在线观看| 亚洲精品在线免费看| 国产99在线|亚洲| 国产又大又黑又粗免费视频| 男女猛烈无遮掩视频免费软件| 亚洲成av人片不卡无码久久| 中文字幕av免费专区| 亚洲精品人成在线观看| www.999精品视频观看免费| 亚洲国产精品无码久久九九大片| 午夜亚洲av永久无码精品| 久久久久久噜噜精品免费直播 | 亚洲一区无码中文字幕乱码| 免费毛片在线视频| 成年免费a级毛片免费看无码| 亚洲V无码一区二区三区四区观看| 亚洲人成在线观看| 特级毛片爽www免费版| 小说专区亚洲春色校园| 国产情侣久久久久aⅴ免费| 成人性生交视频免费观看| 免费无码午夜福利片| 婷婷亚洲久悠悠色悠在线播放| 99热在线免费观看| 亚洲精品色在线网站| 亚洲国产成人久久精品动漫| 成人永久福利免费观看| 久久国产精品成人免费|