<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 閱讀(288) 評論(0)  編輯  收藏 所屬分類: Struts

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


    網站導航:
     
    主站蜘蛛池模板: 视频一区二区三区免费观看| 亚洲av综合avav中文| 四虎亚洲精品高清在线观看| 99re免费在线视频| 亚洲A∨无码无在线观看| 成人性做爰aaa片免费看| 亚洲综合无码AV一区二区| aaa毛片免费观看| 亚洲国产a∨无码中文777| 先锋影音资源片午夜在线观看视频免费播放 | 国产一区二区三区免费| 亚洲精品无码久久久久去q| 中文字幕在线观看免费| 亚洲国产成人一区二区三区| 日韩免费视频一区二区| 亚洲福利电影在线观看| 中国在线观看免费国语版| 亚洲色成人网站WWW永久四虎| 免费无码AV片在线观看软件| 亚洲国产精品美女久久久久| 免费看小12萝裸体视频国产| 性生大片视频免费观看一级| 亚洲欧洲日产国码无码网站| 4399影视免费观看高清直播| ww亚洲ww在线观看国产| 免费一区二区视频| 国产一区二区三区免费| 亚洲中文字幕久在线| 国产人成免费视频| 18禁在线无遮挡免费观看网站| 亚洲国产精品综合久久2007| 午夜dj在线观看免费视频| 国产精品免费在线播放| 亚洲美女大bbbbbbbbb| 国产精品免费视频一区| 青青操在线免费观看| 98精品全国免费观看视频| va天堂va亚洲va影视中文字幕| 亚洲国产成人久久综合区| 日韩插啊免费视频在线观看| 亚洲色欲色欲www在线播放|