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

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

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

    JSP生成驗證碼

    Posted on 2007-04-18 19:54 久城 閱讀(1071) 評論(3)  編輯  收藏 所屬分類: Jsp學習
    <%@ page contentType="image/jpeg"
        
    import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"
        pageEncoding
    ="gb2312"%>
    <%!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);
        }
    %>
    <%
        
    //設置頁面緩存   
        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(200250));
        g.fillRect(
    00, width, height);
        
    //設定字體   
        g.setFont(new Font("Times New Roman", Font.PLAIN, 18));  
        
    // 隨機產生155條干擾線,使圖象中的認證碼不易被其它程序探測到   
        g.setColor(getRandColor(160200));
        
    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.setCor(new Color(20 + random.nextInt(110), 20 + random
            .nextInt(
    110), 20 + random.nextInt(110)));
            
    //調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成   
            g.drawString(rand, 13 * i + 616);
        }

        
    // 將認證碼存入SESSION   
        session.setAttribute("rand", sRand);
        
    // 圖象生效   
        g.dispose();
        
    // 輸出圖象到頁面   
        ImageIO.write(image, "JPEG", response.getOutputStream());
    %>


    歡迎來訪!^.^!
    本BLOG僅用于個人學習交流!
    目的在于記錄個人成長.
    所有文字均屬于個人理解.
    如有錯誤,望多多指教!不勝感激!

    Feedback

    # re: JSP生成驗證碼  回復  更多評論   

    2007-04-18 20:34 by 靜兒
    其實我經常登陸你的blog,一直覺得你是個奇人。現在最令我奇怪的一件事發生了:你怎么知道我的blog的?呵呵,以后我得多向你學習,你可別嫌麻煩哦!

    # re: JSP生成驗證碼[未登錄]  回復  更多評論   

    2007-06-11 22:33 by ^_^
    最好寫一下調用并判斷驗證碼的過程

    # re: JSP生成驗證碼  回復  更多評論   

    2007-08-15 15:07 by ddd
    LS, 調用和判斷很簡單呀!

    既然程序里已經生成了驗證碼,

    用它直接跟User輸入的比較就好。。。

    至于驗證碼如何保存,Session,Request啥的,就是喜好問題了

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


    網站導航:
     

    Copyright © 久城

    主站蜘蛛池模板: 亚洲av无码成人影院一区| 91亚洲精品第一综合不卡播放| 中文字幕亚洲精品无码| 国产精品怡红院永久免费| 亚洲欧洲自拍拍偷午夜色| 日韩中文字幕精品免费一区| 亚洲天堂一区二区三区| 毛片大全免费观看| 亚洲国产精品日韩av不卡在线 | 久久精品国产亚洲av四虎| 黄网站免费在线观看| 久久亚洲精品成人av无码网站| 亚洲精品在线免费看| 亚洲va精品中文字幕| 日韩成人在线免费视频| 国产高潮久久免费观看| 亚洲国产精品无码久久一线| 亚洲一区在线免费观看| 91在线亚洲综合在线| 波多野结衣免费视频观看| 久久www免费人成精品香蕉| 亚洲AV无码成人专区片在线观看| 三年片在线观看免费观看大全动漫 | 特级aa**毛片免费观看| 亚洲大成色www永久网站| 在线免费观看你懂的| 亚洲日韩国产欧美一区二区三区 | mm1313亚洲国产精品无码试看| 无码专区一va亚洲v专区在线| 在线观看人成视频免费无遮挡| 久久久亚洲裙底偷窥综合| 免费观看的av毛片的网站| 国产精品偷伦视频免费观看了| 久久久久亚洲Av无码专| 日韩精品视频免费网址| 成全高清在线观看免费| 亚洲日韩国产二区无码| 久久伊人久久亚洲综合| 四虎永久在线精品免费影视| 亚洲免费视频网站| 全黄A免费一级毛片|