<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 月芽兒 閱讀(1125) 評論(0)  編輯  收藏 所屬分類: J2EE學習心得

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲制服丝袜精品久久| 亚洲国产女人aaa毛片在线| 亚洲一区精彩视频| 国产又大又粗又长免费视频| 香蕉视频在线观看亚洲| 一级毛片不卡片免费观看| 久久亚洲精品成人777大小说| 国产又黄又爽又大的免费视频| 亚洲中文字幕无码爆乳av中文| 九九久久国产精品免费热6| 亚洲国产日韩成人综合天堂| 三年片在线观看免费观看大全中国| 免费国产成人高清视频网站| 曰韩无码AV片免费播放不卡| 亚洲午夜国产精品无码老牛影视| 中文字幕免费人成乱码中国| 久久精品国产亚洲网站| 在线日本高清免费不卡| 亚洲一区二区三区免费观看| 在线jlzzjlzz免费播放| 妇女自拍偷自拍亚洲精品| 亚洲男人在线无码视频| 免费一级不卡毛片| 亚洲国产精品线观看不卡| 免费鲁丝片一级观看| 九一在线完整视频免费观看| 亚洲国产高清人在线| 免费a级毛片高清视频不卡| 极品美女一级毛片免费| 亚洲男人的天堂www| 国产精品爱啪在线线免费观看| 亚洲色偷精品一区二区三区| 久久亚洲国产成人精品无码区| 无码人妻丰满熟妇区免费| 精品亚洲456在线播放| 亚洲性日韩精品一区二区三区| 嫩草在线视频www免费观看 | 亚洲日韩AV一区二区三区中文| 亚洲精品动漫人成3d在线| 99国产精品免费视频观看| 在线看亚洲十八禁网站|