欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VerifyCodeServlet(一次性驗(yàn)證碼)

 更新時(shí)間:2017年05月10日 08:34:37   作者:姝小霞  
這篇文章主要介紹了VerifyCodeServlet一次性驗(yàn)證碼的使用方法

通過(guò)在表單中總是需要使用一次性驗(yàn)證碼,這一問(wèn)題可以使用VerifyCodeServlet來(lái)處理。讓<img>元素的src指向VerifyCodeServlet即可在頁(yè)面中生成一次性驗(yàn)證碼。而且VerifyCodeServlet還會(huì)把驗(yàn)證碼保存到session中,名稱(chēng)為:vCode,也就是說(shuō),你可以通過(guò)session來(lái)獲取驗(yàn)證碼文本: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"/>
  驗(yàn)證碼:<input type="text" name="verifyCode"/>
<!--讓<img>的src指向VerifyCodeServlet即可生成一次性驗(yàn)證碼-->
  <img src="<c:url value='/VerifyCodeServlet'/>" border="1"/><br/>
  <input type="submit" value="注冊(cè)"/>
</form>

因?yàn)橛脩?hù)可能看不清楚圖片上的文本,所以我們需要給用戶(hù)提供一個(gè)“換一張”超鏈接。其實(shí)實(shí)現(xiàn)這一步很簡(jiǎn)單,只需要使用javascript讓<img>元素src指向VerifyCodeServlet即可。但因?yàn)闉g覽器可能會(huì)緩存上一次生成的圖片,所以我們還需要使用時(shí)間為參數(shù)“強(qiáng)迫”瀏覽器訪問(wèn)服務(wù)器,而不是使用緩存。

MyJsp.jsp

<script type="text/javascript" src="<c:url value='/js/jquery-1.5.1.js'/>"></script>
  <script type="text/javascript">
  //在點(diǎn)擊“換一張”時(shí)會(huì)調(diào)用本方法
    function change() {
      $("#img").attr("src", "<c:url value='/VerifyCodeServlet?'/>" + new Date().getTime());//指定<img>元素的src屬性值為VerifyCodeServlet,并且追加參數(shù)為當(dāng)前時(shí)間毫秒,它是不會(huì)重復(fù)的值,所以瀏覽器不會(huì)使用緩存,而是訪問(wèn)服務(wù)器。
    }
  </script>
…
<form action="<c:url value='/UserServlet'/>" method="post">
  <input type="hidden" name="method" value="regist"/>
  驗(yàn)證碼:<input type="text" name="verifyCode"/>
<!-- 指定id為img,方法使用jquery來(lái)查找該元素-->
  <img id="img" src="<c:url value='/VerifyCodeServlet'/>" border="1"/>
  <a href="javascript:change();" rel="external nofollow" >換一張</a><!--點(diǎn)擊該超鏈接會(huì)調(diào)用change()方法-->
  <br/>
  <input type="submit" value="注冊(cè)"/>
</form>

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決druid監(jiān)控頁(yè)面SQL不顯示的問(wèn)題

    解決druid監(jiān)控頁(yè)面SQL不顯示的問(wèn)題

    這篇文章主要介紹了解決druid監(jiān)控頁(yè)面SQL不顯示的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 解決@JsonIgnore的使用以及自己踩坑

    解決@JsonIgnore的使用以及自己踩坑

    這篇文章主要介紹了解決@JsonIgnore的使用以及自己踩坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Spring事務(wù)管理零基礎(chǔ)入門(mén)

    Spring事務(wù)管理零基礎(chǔ)入門(mén)

    事務(wù)的作用就是為了保證用戶(hù)的每一個(gè)操作都是可靠的,事務(wù)中的每一步操作都必須成功執(zhí)行,只要有發(fā)生異常就?回退到事務(wù)開(kāi)始未進(jìn)行操作的狀態(tài)。事務(wù)管理是Spring框架中最為常用的功能之一,我們?cè)谑褂肧pring?Boot開(kāi)發(fā)應(yīng)用時(shí),大部分情況下也都需要使用事務(wù)
    2022-10-10
  • 深入淺出學(xué)習(xí)AQS組件

    深入淺出學(xué)習(xí)AQS組件

    AQS ( AbstractQueuedSynchronizer)是一個(gè)用來(lái)構(gòu)建鎖和同步器的框架,使用AQS能簡(jiǎn)單且高效地構(gòu)造出應(yīng)用廣泛的大量的同步器,下面小編和大家來(lái)一起學(xué)習(xí)一下吧
    2019-05-05
  • 解決idea web工程修改js文件之后不變化的問(wèn)題

    解決idea web工程修改js文件之后不變化的問(wèn)題

    這篇文章主要介紹了解決idea web工程修改js文件之后不變化的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • Java布隆過(guò)濾器的原理和實(shí)現(xiàn)分析

    Java布隆過(guò)濾器的原理和實(shí)現(xiàn)分析

    數(shù)組、鏈表、樹(shù)等數(shù)據(jù)結(jié)構(gòu)會(huì)存儲(chǔ)元素的內(nèi)容,一旦數(shù)據(jù)量過(guò)大,消耗的內(nèi)存也會(huì)呈現(xiàn)線(xiàn)性增長(zhǎng)所以布隆過(guò)濾器是為了解決數(shù)據(jù)量大的一種數(shù)據(jù)結(jié)構(gòu)。本文就來(lái)和大家詳細(xì)說(shuō)說(shuō)布隆過(guò)濾器的原理和實(shí)現(xiàn),感興趣的可以了解一下
    2022-10-10
  • springcloud + mybatis + seate集成示例

    springcloud + mybatis + seate集成示例

    本文主要介紹了springcloud + mybatis + seate集成示例,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • 后端報(bào)TypeError:Cannot?read?properties?of?null?(reading?‘xxx‘)的錯(cuò)誤解決

    后端報(bào)TypeError:Cannot?read?properties?of?null?(reading?‘

    這篇文章主要給大家介紹了關(guān)于后端報(bào)TypeError:Cannot?read?properties?of?null?(reading?‘xxx‘)錯(cuò)誤的解決辦法,這個(gè)錯(cuò)誤是開(kāi)發(fā)中常見(jiàn)的錯(cuò)誤之一,需要的朋友可以參考下
    2023-05-05
  • SpringBoot ResponseEntity標(biāo)識(shí)Http響應(yīng)方式

    SpringBoot ResponseEntity標(biāo)識(shí)Http響應(yīng)方式

    這篇文章主要介紹了SpringBoot ResponseEntity標(biāo)識(shí)Http響應(yīng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 23種設(shè)計(jì)模式(3) java原型模式

    23種設(shè)計(jì)模式(3) java原型模式

    這篇文章主要為大家詳細(xì)介紹了23種設(shè)計(jì)模式之java原型模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評(píng)論