???
以上兩篇文章的內(nèi)容介紹了有關(guān)JSP中產(chǎn)生數(shù)字驗(yàn)證碼跟中文驗(yàn)證碼的源代碼并做了分析,本文中介紹如何對(duì)以上產(chǎn)生的數(shù)字跟中文驗(yàn)證碼進(jìn)行使用,以及如何解決中文驗(yàn)證碼的亂碼無(wú)法正確驗(yàn)證的問(wèn)題。
???對(duì)驗(yàn)證碼的使用分為兩個(gè)部分,分別為驗(yàn)證碼的調(diào)用和驗(yàn)證過(guò)程,以下分別做說(shuō)明介紹。
???三、在JSP中調(diào)用驗(yàn)證碼
?????????? 使用驗(yàn)證碼直接在圖片處調(diào)用產(chǎn)生驗(yàn)證碼的JSP文件即可,同時(shí)在刷新驗(yàn)證碼按鈕處的js代碼中使用JSP驗(yàn)證碼文件,頁(yè)面源碼如下。
<form id="dForm" method=post action="val.jsp">
<ul class="sFrm">
<li><b></b><img id="code" border=0 src="Num.jsp"/><input type="button" value="看不清,換一張" onClick="document.getElementById('code').src='ColorChinese.jsp'"><div class="clear0"></div></li>
<li><b>驗(yàn)證碼</b><input type="text" name="input" maxlength=8 value=""? styleClass="sIpt itemFm"><div class="clear0"></div></li>
<li class="bar"><b></b><input type="submit" value="驗(yàn)證測(cè)試"? styleClass="logbtn3"></li>
</ul>
</form>?
???四、在JSP中驗(yàn)證碼的驗(yàn)證過(guò)程以及中文亂碼處理
????????????獲取用戶輸入的驗(yàn)證碼并與Session中的驗(yàn)證碼比較,相同即通過(guò),否則拒絕,對(duì)于JSP中中文驗(yàn)證碼的處理注意要在頁(yè)面中定義JSP頁(yè)面編碼跟獲取Session的字符編碼一致,此處使用的是統(tǒng)一的GB2312編碼,否則將出現(xiàn)驗(yàn)證碼無(wú)法成功驗(yàn)證的情況。??
val.jsp
<%@ page language="java" pageEncoding="GB2312" %>
<%????request.setCharacterEncoding("gb2312");
????//獲取Session會(huì)話中緩存的驗(yàn)證碼
??? String rand = (String)session.getAttribute("rand");
????//獲取用戶輸入的驗(yàn)證碼
????String input = request.getParameter("input");???
??? if(rand==null||input==null)
??? {
???????//無(wú)輸入驗(yàn)證碼處理代碼
??? }??? if (rand.equals(input)) {
???????//驗(yàn)證碼對(duì)比成功
??? }??? else
??? {
????? ?//驗(yàn)證碼失敗處理代碼
??? }
%>?
???
以上為在JSP頁(yè)面中的驗(yàn)證碼生成以及使用處理的源碼分析,在接下來(lái)的文章中將介紹下在Servlet中使用驗(yàn)證碼程序。
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭(zhēng)朝夕
???? 隱姓埋名/低調(diào)華麗/簡(jiǎn)單生活/完美人生