中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VerifyCodeServlet(一次性驗證碼)

發布時間:2020-09-20 06:50:06 來源:腳本之家 閱讀:172 作者:姝小霞 欄目:編程語言

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

web.xml

<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

<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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜昌市| 闽侯县| 洮南市| 丰县| 灌云县| 金门县| 射阳县| 赤峰市| 宜君县| 浠水县| 阿城市| 彰化县| 平潭县| 环江| 常熟市| 璧山县| 鹿泉市| 平阴县| 正阳县| 秦安县| 辽阳县| 六安市| 阳新县| 平昌县| 白朗县| 弥渡县| 聊城市| 江西省| 泰宁县| 栾城县| 鹿泉市| 开阳县| 邵东县| 南京市| 湄潭县| 获嘉县| 岢岚县| 景洪市| 灌云县| 丹棱县| 阿巴嘎旗|