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

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

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

    Greedy的工作室

    posts - 23,comments - 7,trackbacks - 0

     

    package cn.com.lough.struts.action;

    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.util.Random;

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

    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.commons.lang.RandomStringUtils;

    /**
    * MyEclipse Struts Creation date: 01-11-2007
    *
    * XDoclet definition:
    *
    * @struts.action validate="true"
    */
    public class ValidatecodeAction extends Action {
     /*
      * Generated Methods
      */

     /**
      * Method execute
      *
      * @param mapping
      * @param form
      * @param request
      * @param response
      * @return ActionForward
      */
     public ActionForward execute(ActionMapping mapping, ActionForm form,
         HttpServletRequest request, HttpServletResponse response) {
       try {
         int width = 50;
         int height = 18;
         // 取得一個4位隨機字母數字字符串
         String s = RandomStringUtils.random(4, true, true);
         
         // 保存入session,用于與用戶的輸入進行比較.
         // 注意比較完之后清除session.
         HttpSession session = request.getSession(true);
         session.setAttribute("validateCode", s);

         response.setContentType("images/jpeg");
         response.setHeader("Pragma", "No-cache");
         response.setHeader("Cache-Control", "no-cache");
         response.setDateHeader("Expires", 0);

         ServletOutputStream out = response.getOutputStream();
         BufferedImage image = new BufferedImage(width, height,
             BufferedImage.TYPE_INT_RGB);
         Graphics g = image.getGraphics();
         // 設定背景色
         g.setColor(getRandColor(200, 250));
         g.fillRect(0, 0, width, height);

         // 設定字體
         Font mFont = new Font("Times New Roman", Font.BOLD, 18);// 設置字體
         g.setFont(mFont);

         // 畫邊框
         // g.setColor(Color.BLACK);
         // g.drawRect(0, 0, width - 1, height - 1);

         // 隨機產生干擾線,使圖象中的認證碼不易被其它程序探測到
         g.setColor(getRandColor(160, 200));
         // 生成隨機類
         Random random = new Random();
         for (int i = 0; i < 155; i++) {
           int x2 = random.nextInt(width);
           int y2 = random.nextInt(height);
           int x3 = random.nextInt(12);
           int y3 = random.nextInt(12);
           g.drawLine(x2, y2, x2 + x3, y2 + y3);
         }

         // 將認證碼顯示到圖象中
         g.setColor(new Color(20 + random.nextInt(110), 20 + random
             .nextInt(110), 20 + random.nextInt(110)));

         g.drawString(s, 2, 16);

         // 圖象生效
         g.dispose();
         // 輸出圖象到頁面
         ImageIO.write((BufferedImage) image, "JPEG", out);
         out.close();
       } catch (Exception e) {
         e.printStackTrace();
       }
       return null;
     }

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



    jsp頁面的調用
    <html:img page="/validatecode.do" border="0" onclick="this.src='/validatecode.do'" alt="請輸入此驗證碼,如看不清請點擊刷新。" style="cursor:pointer" />
    posted on 2008-06-27 10:51 greedy 閱讀(290) 評論(0)  編輯  收藏 所屬分類: Struts

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


    網站導航:
     
    主站蜘蛛池模板: 四虎成人免费网站在线| 最近中文字幕mv免费高清在线 | 8888四色奇米在线观看免费看| 久久亚洲高清综合| 两个人的视频www免费| 亚洲一区二区三区香蕉| 国产99在线|亚洲| 日本一区二区三区免费高清| 亚洲人成综合在线播放| 成人性生交大片免费看无遮挡| 亚洲中文字幕无码爆乳| 久久免费精品视频| 久久久综合亚洲色一区二区三区| 三年片在线观看免费| 亚洲一区二区中文| 免费观看无遮挡www的视频| 日本亚洲国产一区二区三区| 中文在线观看国语高清免费| 亚洲国产精品久久久天堂| 日韩电影免费在线观看中文字幕 | 亚洲不卡1卡2卡三卡2021麻豆| 免费观看激色视频网站(性色)| 国产精品亚洲综合久久| 最近免费中文字幕视频高清在线看| 亚洲第一视频网站| 无码人妻精品中文字幕免费东京热| 久久亚洲精品专区蓝色区| 国产精品高清全国免费观看| 亚洲情A成黄在线观看动漫软件| 在线播放免费人成视频在线观看| 美女无遮挡免费视频网站 | 亚洲国产夜色在线观看| 免费毛片网站在线观看| 一级毛片免费不卡直观看| 久久精品亚洲一区二区三区浴池| 国内大片在线免费看| 中文字幕免费在线观看动作大片| 亚洲经典在线中文字幕| 免费人成激情视频| 亚洲免费在线视频播放| 无码毛片一区二区三区视频免费播放|