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

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

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

    神秘的 J2ee 殿堂

    ·古之學者必有師·做學者亦要做師者·FIGHTING·

    servlet圖片驗證碼

    /**
     * 說明:生成驗證碼servlet
     * 編寫者:LiuYong
     * 日期:2008 8.7
     * 使用時直接把servlet訪問路徑傳給src就好了,如果要重新產生就把img的onclick加個document.getElementById("imgId").src="<%=request.getContextPath() %>/servlet/RandomCodeServlet";就ok,不過火狐里面不行。呵呵
     
    */
    package com.hunau.liuyong;

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

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

    /**
     * <p>
     * Title:生成驗證碼
     * <p>
     * Description:在servlet中生成驗證碼
     * </p>
     * 
     
    */
    public class RandomCodeServlet extends HttpServlet {

        
    // 高度
        private int width = 90;

        
    // 寬度
        private int height = 20;

        
    protected void service(HttpServletRequest req, HttpServletResponse resp)
                
    throws ServletException, java.io.IOException {
            BufferedImage buffImg 
    = new BufferedImage(width, height,
                    BufferedImage.TYPE_INT_RGB);
            Graphics2D g 
    = buffImg.createGraphics();
            Random random 
    = new Random();
            g.setColor(Color.WHITE);
            g.fillRect(
    00, width, height);
            
    // 設置字體
            Font font = new Font("Times New Roman", Font.BOLD, 20);
            g.setFont(font);
            
    // 畫邊框
            g.setColor(Color.GRAY);
            g.drawRect(
    00, width - 1, height - 1);

            g.setColor(Color.GRAY);
            
    // 隨機產生干擾線
            for (int i = 0; i < 50; i++) {
                
    int x = random.nextInt(width);
                
    int y = random.nextInt(height);
                
    int x1 = random.nextInt(2);
                
    int y1 = random.nextInt(2);
                g.drawLine(x, y, x 
    + x1, y + y1);
            }
            
    // 數字字母集合
            char[] numbersAndLettersStore = ("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
                    .toCharArray();
            String randomCode 
    = null;
            
    int red = 0, green = 0, blue = 0;
            
    for (int i = 0; i < 4; i++) {
                red 
    = random.nextInt(255);
                green 
    = random.nextInt(255);
                blue 
    = random.nextInt(255);
                g.setColor(
    new Color(red, green, blue));
                String tem 
    = String.valueOf(numbersAndLettersStore[random
                        .nextInt(
    62)]);
                randomCode 
    += tem;
                g.drawString(tem, 
    15 * i + 1617);
            }
            
    // 驗證碼保存到Session范圍
            HttpSession session = req.getSession();
            session.setAttribute(
    "code", randomCode.toString());
            
    // 禁止緩存
            resp.setHeader("Prama""no-cache");
            resp.setHeader(
    "Coche-Control""no-cache");
            resp.setDateHeader(
    "Expires"0);
            resp.setContentType(
    "image/jpeg");
            
    // 將圖像輸出到
            ServletOutputStream sos = resp.getOutputStream();
            ImageIO.write(buffImg, 
    "jpeg", sos);
            sos.close();
        }

    }

    posted on 2008-08-07 15:24 月芽兒 閱讀(1116) 評論(0)  編輯  收藏 所屬分類: J2EE學習心得

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧美国产欧美色欲| 成人午夜大片免费7777| 在线观看亚洲免费视频| 亚洲国产精品免费在线观看| 亚洲中文字幕无码久久2017| 日日AV拍夜夜添久久免费| 亚欧色视频在线观看免费| 东北美女野外bbwbbw免费| 看全免费的一级毛片| 亚洲中文字幕无码一去台湾| 亚洲资源在线观看| 国产亚洲av片在线观看18女人| 永久黄网站色视频免费观看| 国产在线jyzzjyzz免费麻豆 | 一级毛片免费毛片一级毛片免费| 特级毛片aaaa免费观看| 亚洲AV无码一区二区三区电影 | 东方aⅴ免费观看久久av| 一级午夜a毛片免费视频| 黄页网址在线免费观看| 国产精品亚洲精品久久精品| 亚洲色大网站WWW永久网站| 亚洲精品国产精品国自产网站 | 成人奭片免费观看| 国产一卡二卡3卡四卡免费| 精品无码免费专区毛片| 久久午夜夜伦鲁鲁片免费无码影视 | 99热在线日韩精品免费| 国产无限免费观看黄网站| 久青草视频在线观看免费| 成全视成人免费观看在线看| 国产无遮挡色视频免费观看性色| 黄 色一级 成 人网站免费| 国产精品免费一区二区三区| 人禽伦免费交视频播放| 久久免费99精品国产自在现线| 中文精品人人永久免费| 18禁超污无遮挡无码免费网站| 久久大香香蕉国产免费网站| 99热免费在线观看| 2021久久精品免费观看|