亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

Jsp servlet驗證碼工具類分享

2024-09-05 00:23:35
字體:
來源:轉載
供稿:網友

昨晚在csdn看到一位前輩寫一個ajax+servlet+jsp驗證,頓時心血來潮,在閱讀前輩的代碼下我親手體驗一下,做了一個驗證碼生成工具類,以供大家做個參考。

1、添加VeriyCodeUtils類生成驗證碼圖像

package com.servlet;  import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.OutputStream; import java.util.Random;  import javax.imageio.ImageIO;  /**  *  * @author hubiao  *  驗證碼生成器  * 用到API  *  BufferedImage 創建一個圖像  *  Graphics2D 繪制  *   fillRect(x,y,width,height);背景  *   font()字體  *   drawRect();邊框  *   drawLine();線  *   drwaString:圖像數據  *  ImageIO 生成圖像  */ public class VeriyCodeUtils {  /**   * @param output 保存驗證圖像的流   * @return 驗證碼   */  public static String newVeriyCode(OutputStream output)  {   int width = 90;   int height = 40;   int codeCount = 5;   char[] codeSequence = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',      'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',      'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };      //創建圖像對象,8位RGB   BufferedImage buffered = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);      //通過Crapahices來繪制圖像到BufferedImage中   Graphics2D gra = buffered.createGraphics();      //設置圖片背景:白色   gra.setColor(Color.WHITE);   gra.fillRect(0, 0, width, height);      //設置字體,字體大小根據圖片高度決定   gra.setFont(new Font("Fixedsys",Font.PLAIN,height-2));      //設置邊框:黑色,1cm   gra.setColor(Color.BLACK);   gra.drawRect(0, 0, width-1, height-1);      //生成10條黑色干擾線   gra.setColor(Color.BLACK);   Random ran = new Random();   for(int i = 0; i < 70;i++)   {    int x = ran.nextInt(255);    int y = ran.nextInt(255);    int x1 = ran.nextInt(255);    int y1 = ran.nextInt(255);    gra.drawLine(x, y,x+x1, y+y1);//畫直線   }   //生成驗證碼   StringBuffer sb = new StringBuffer();   int r = 0,g = 0,b = 0;   for(int i = 0; i < codeCount; i++)   {    String strRand = String.valueOf(codeSequence[ran.nextInt(codeSequence.length)]);    //對每位驗證碼都生成不同的顏色,增加識別系統難度    r = ran.nextInt(255);    g = ran.nextInt(255);    b = ran.nextInt(255);    gra.setColor(new Color(r, g, b));    gra.drawString(strRand, (i+1)*13, height-4);    sb.append(strRand);   }   try {    ImageIO.write(buffered, "jpeg", output);   } catch (Exception e) {    throw new RuntimeException(e);   }      return sb.toString();  } } 

2、servlet使用驗證碼

protected void doPost(HttpServletRequest req, HttpServletResponse resp)    throws ServletException, IOException {   //禁止圖像緩存   resp.setHeader("Pragma", "no-cache");    resp.setHeader("Cache-Control", "no-cache");    resp.setDateHeader("Expires", 0);    resp.setContentType("image/jpeg");      //生成驗證碼圖像   String veriyCode = VeriyCodeUtils.newVeriyCode(resp.getOutputStream());      //將驗證碼保存到session中   HttpSession session = req.getSession();   session.setAttribute("validateCode", veriyCode);  } 

3、JSP頁面使用驗證碼

</head>  <script type="text/javascript">   function createCode()   {    var t = new Date().getTime();//防止頁面緩存,使用時間搓    var srcImg = document.getElementById("srcImg");    srcImg.src="/ImgVeifyWeb/vity.do?"+t;   }  </script>  <body>  <h1>${requestScope.code}</h1>  <img id="srcImg" src="<c:url value="/vity.do"></c:url>" /> #這里使用直接讓img訪問servlet,通過response響應一個圖像流  <a href="##" rel="external nofollow" id="codeId" onclick="createCode()">換一張</a>  <form action="<c:url value="/hello.do"></c:url>" method="post">   <input type="text" name="codeVify"/>   <input type="submit" value="提交"/>  </form>  </body> 

4、校驗驗證碼

protected void doPost(HttpServletRequest req, HttpServletResponse resp)    throws ServletException, IOException {   HttpSession session = req.getSession();   Object validateCode = session.getAttribute("validateCode");   System.out.println(validateCode);      String codeVify = req.getParameter("codeVify");   if(codeVify==null || codeVify.equals(""))   {    req.setAttribute("code","驗證證不能為空");    req.getRequestDispatcher("/index.jsp").forward(req, resp);    return;   }else if(!validateCode.toString().equalsIgnoreCase(codeVify))   {    req.setAttribute("code","驗證證錯誤");    req.getRequestDispatcher("/index.jsp").forward(req, resp);    return;   }   System.out.println("下面開始 做其他業務操作....");  } 

校驗圖如下:

jsp,servlet,驗證碼

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲高清久久久久久| 色偷偷噜噜噜亚洲男人| 亚洲国产女人aaa毛片在线| 日韩小视频在线观看| 亚洲精品美女视频| 国产精品爽爽爽爽爽爽在线观看| 欧美成年人网站| 亚洲成人久久久久| 亚洲视频在线观看网站| 久久久精品美女| 懂色av一区二区三区| 97视频在线观看免费| 亚洲国产日韩一区| 亚洲国产精久久久久久久| 国产精品久久久久久亚洲影视| 91国内精品久久| 最近2019年好看中文字幕视频| 久久视频在线播放| 91精品视频在线| 久久久人成影片一区二区三区观看| 亚洲最大福利网| 亚洲一区亚洲二区亚洲三区| 亚洲综合在线播放| 国产一区二区色| 人妖精品videosex性欧美| 欧美日韩中文字幕日韩欧美| 国产网站欧美日韩免费精品在线观看| 久久视频免费在线播放| 久久精品欧美视频| 最近2019中文字幕mv免费看| 亚洲视频视频在线| 亚洲激情小视频| 国产精品久久久久久中文字| 91沈先生在线观看| 亚洲精品日韩丝袜精品| 国产精品亚洲视频在线观看| 国产成人综合精品在线| 日韩免费在线电影| 国内精品视频久久| 欧美亚洲视频在线观看| 久久成人这里只有精品| 欧美亚洲在线视频| 久久久久国产一区二区三区| 亚洲美女av网站| 精品欧美激情精品一区| 韩国日本不卡在线| 日韩一区二区三区xxxx| 中文字幕欧美精品在线| 国产精品69精品一区二区三区| 久久久久久久久久久网站| 日韩一二三在线视频播| 欧美激情视频一区| 日韩毛片中文字幕| 久久免费精品日本久久中文字幕| 欧美乱大交xxxxx另类电影| 一区二区日韩精品| 亚洲精品综合久久中文字幕| 91久久久亚洲精品| 亚洲专区在线视频| 66m—66摸成人免费视频| 在线观看精品自拍私拍| 国产亚洲在线播放| 亚洲高清一区二| 精品偷拍各种wc美女嘘嘘| 欧美激情精品久久久久久变态| 欧美多人爱爱视频网站| 成人女保姆的销魂服务| 欧美成人免费在线视频| 成人av.网址在线网站| 蜜臀久久99精品久久久无需会员| 九九热这里只有在线精品视| 亚洲理论片在线观看| 97超级碰碰碰久久久| 伊人久久久久久久久久久久久| 中文字幕一区二区精品| 欧美日韩激情网| 91精品久久久久久久久青青| 精品国产福利在线| 亚洲欧美日韩精品久久| 成人黄色大片在线免费观看| 亚洲国产美女久久久久| 狠狠躁夜夜躁人人躁婷婷91| 亚洲欧美国产高清va在线播| 欧美午夜电影在线| 亚洲码在线观看| 国产精品老牛影院在线观看| 伊人久久免费视频| 97国产在线视频| 国产精品av在线播放| 伊人伊成久久人综合网站| 亚洲xxxx3d| 午夜精品一区二区三区av| 国产成人午夜视频网址| 欧美另类高清videos| 国产精品视频区1| 日产精品99久久久久久| 欧美精品日韩www.p站| 一二美女精品欧洲| 日韩一区视频在线| 久久久久亚洲精品| 成人久久精品视频| 欧美午夜片在线免费观看| 国产+成+人+亚洲欧洲| 国产日韩欧美在线| 精品久久久在线观看| 欧美色另类天堂2015| 精品久久久999| 狠狠色狠狠色综合日日小说| 青青久久aⅴ北条麻妃| 日韩中文有码在线视频| 日韩av电影在线免费播放| 国产99久久久欧美黑人| 欧美电影在线观看网站| 久久天天躁狠狠躁老女人| 欧美亚洲在线视频| 亚洲欧美另类国产| 国产精品久久久久久久9999| 色综合男人天堂| 日韩在线不卡视频| 色系列之999| 亚洲人成电影网站色| 中文字幕精品av| 亚洲一区二区三区毛片| 亚洲人成网站色ww在线| 精品久久久久久久久久久久久久| 国语自产精品视频在线看| 国产精品久久久精品| 国产日韩精品入口| 欧美激情一二区| 国产一区二区三区三区在线观看| 国产精品网站大全| 欧美第一黄色网| 亚洲精品第一国产综合精品| 国产精品一久久香蕉国产线看观看| 国产精品男女猛烈高潮激情| 久久精彩免费视频| 亚洲精品视频久久| 人体精品一二三区| 国产精品久久久久久久久粉嫩av| 欧美华人在线视频| 疯狂蹂躏欧美一区二区精品| 亚洲人成欧美中文字幕| 欧美成人精品在线播放| 欧美精品制服第一页| 国产精品香蕉国产| 国产精品成人免费电影| 97视频在线观看免费高清完整版在线观看| 不卡在线观看电视剧完整版| 成人激情在线播放| 欧美激情视频在线观看| 亚洲激情在线观看视频免费| 国产精品久久久久久亚洲影视| 国产精品99导航| 国产精品视频久久久久| 精品久久久久久亚洲国产300| 国产精品欧美亚洲777777| 亚洲国产精品va在线看黑人动漫| 精品人伦一区二区三区蜜桃网站| 欧美中文字幕在线视频| 欧美激情va永久在线播放| 久久这里有精品| 日韩av一区二区在线观看| 久久人体大胆视频| 91手机视频在线观看|