一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - VerifyCodeServlet(一次性驗證碼)

VerifyCodeServlet(一次性驗證碼)

2020-09-28 10:54姝小霞 JAVA教程

這篇文章主要介紹了VerifyCodeServlet一次性驗證碼的使用方法

通過在表單中總是需要使用一次性驗證碼,這一問題可以使用VerifyCodeServlet來處理。讓<img>元素的src指向VerifyCodeServlet即可在頁面中生成一次性驗證碼。而且VerifyCodeServlet還會把驗證碼保存到session中,名稱為:vCode,也就是說,你可以通過session來獲取驗證碼文本:session.getAttribute(“vCode”)。

web.xml

?
1
2
3
4
5
6
7
8
<servlet>
 <servlet-name>VerifyCodeServlet</servlet-name>
 <servlet-class>cn.itcast.vcode.servlet.VerifyCodeServlet</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>VerifyCodeServlet</servlet-name>
 <url-pattern>/VerifyCodeServlet</url-pattern>
</servlet-mapping>

MyJsp.jsp

?
1
2
3
4
5
6
7
<form action="<c:url value='/UserServlet'/>" method="post">
  <input type="hidden" name="method" value="regist"/>
  驗證碼:<input type="text" name="verifyCode"/>
<!--讓<img>的src指向VerifyCodeServlet即可生成一次性驗證碼-->
  <img src="<c:url value='/VerifyCodeServlet'/>" border="1"/><br/>
  <input type="submit" value="注冊"/>
</form>

因為用戶可能看不清楚圖片上的文本,所以我們需要給用戶提供一個“換一張”超鏈接。其實實現這一步很簡單,只需要使用javascript讓<img>元素src指向VerifyCodeServlet即可。但因為瀏覽器可能會緩存上一次生成的圖片,所以我們還需要使用時間為參數“強迫”瀏覽器訪問服務器,而不是使用緩存。

MyJsp.jsp

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript" src="<c:url value='/js/jquery-1.5.1.js'/>"></script>
  <script type="text/javascript">
  //在點擊“換一張”時會調用本方法
    function change() {
      $("#img").attr("src", "<c:url value='/VerifyCodeServlet?'/>" + new Date().getTime());//指定<img>元素的src屬性值為VerifyCodeServlet,并且追加參數為當前時間毫秒,它是不會重復的值,所以瀏覽器不會使用緩存,而是訪問服務器。
    }
  </script>
<form action="<c:url value='/UserServlet'/>" method="post">
  <input type="hidden" name="method" value="regist"/>
  驗證碼:<input type="text" name="verifyCode"/>
<!-- 指定id為img,方法使用jquery來查找該元素-->
  <img id="img" src="<c:url value='/VerifyCodeServlet'/>" border="1"/>
  <a href="javascript:change();" rel="external nofollow" >換一張</a><!--點擊該超鏈接會調用change()方法-->
  <br/>
  <input type="submit" value="注冊"/>
</form>

當用戶在表單中填寫了驗證碼,而且提交了表單,到達UserServlet的regist()方法,在regist() 方法中需要比較用戶在表單中輸入的驗證碼,與驗證碼圖片上的文本是否相同。

獲取用戶輸入的驗證碼:request.getParameter(“verifyCode”);
獲取圖片上的驗證碼:session.getAttribute(“vCode”);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 98成人 | 国产91亚洲精品 | 校花被强迫np肉高h 校服下的白嫩小乳尖h1v1 | 91在线精品老司机免费播放 | 天天干夜夜玩 | 舔大逼| 久久热在线视频精品店 | 四虎影院com | 亚洲www视频| 久久综合视频网站 | 门房秦大爷小说 | 精品久久久久久久国产潘金莲 | 欧美成人aaaa免费高清 | bt伙计最新合集 | 桃色导航 | 国内免费高清视频在线观看 | 色综合久久最新中文字幕 | 国产日韩一区二区 | 青春娱乐国产分类精品二 | 臀控福利大臀的网站 | 美女bbxx美女bbb| 日韩精品成人免费观看 | 国产一区二区精品 | 男人女人日批 | xxxx在线视频 | 久久精品免视看国产 | 美女插插视频 | 我们日本在线观看免费动漫下载 | 免费看视频 | 精品在线播放视频 | 国产99久久精品一区二区 | 国产激情一区二区三区成人91 | 日本免费三区 | 午夜视频在线网站 | 成人亚洲欧美日韩中文字幕 | 女人是男人的未来1分49分 | 9420高清完整版在线观看国语 | 国产精品理论片在线观看 | 亚洲国产区中文在线观看 | 欧美日韩国产另类一区二区三区 | 果冻传媒在线播放1 |