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

    隨筆分類

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费观看无遮挡www的视频| 免费大香伊蕉在人线国产| 亚洲人成网亚洲欧洲无码久久 | 亚洲乱码卡三乱码新区| 最近中文字幕mv免费高清在线| 在线精品免费视频无码的| 亚洲av无码一区二区三区观看| 永久免费av无码不卡在线观看| 国产成人精品久久亚洲高清不卡 | 成人特级毛片69免费观看| 国产亚洲一区区二区在线| 中国一级特黄的片子免费 | 人妻无码久久一区二区三区免费| 亚洲精品线在线观看| 成年人免费的视频| 亚洲AV综合色区无码一区爱AV| 国产成人福利免费视频| 日韩视频免费在线| 国产亚洲精品美女久久久 | 亚洲综合精品网站| a毛片在线看片免费| 中文字幕亚洲免费无线观看日本 | 亚洲18在线天美| 免费国产在线观看不卡| sss在线观看免费高清| 亚洲AV一宅男色影视| 国内精自视频品线六区免费| 亚洲最大无码中文字幕| www国产亚洲精品久久久日本| 亚洲bt加勒比一区二区| 真人做A免费观看| 国产精品亚洲一区二区三区久久| 久久精品国产亚洲Aⅴ香蕉| 久久午夜伦鲁片免费无码| 亚洲日韩一区二区一无码| 午夜国产精品免费观看| 黄色毛片免费观看| 久久精品国产亚洲精品2020| 免费看美女被靠到爽| a视频在线免费观看| 亚洲精品无码一区二区|