JSP驗證碼大全之驗證碼使用與亂碼解決

來源:互聯網
上載者:User

以上兩篇文章的內容介紹了有關JSP中產生數字驗證碼跟中文驗證碼的原始碼並做了分析,本文中介紹 如何對以上產生的數字跟中文驗證碼進行使用,以及如何解決中文驗證碼的亂碼無法正確驗證的問題。

對驗證碼的使用分為兩個部分,分別為驗證碼的調用和驗證過程,以下分別做說明介紹。

三、在JSP中調用驗證碼

使用驗證碼直接在圖片處調用產生驗證碼的JSP檔案即可,同時在重新整理驗證碼按鈕處的js代碼中使用 JSP驗證碼檔案,頁面源碼如下。

<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>驗證碼</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="驗證測試" styleClass="logbtn3"></li>
</ul>
</form>

四、在JSP中驗證碼的驗證過程以及中文亂碼處理

擷取使用者輸入的驗證碼並與Session中的驗證碼比較,相同即通過,否則拒絕,對於JSP中中文驗證碼 的處理注意要在頁面中定義JSP頁面編碼跟擷取Session的字元編碼一致,此處使用的是統一的GB2312編碼 ,否則將出現驗證碼無法成功驗證的情況。

val.jsp
<%@ page language="java" pageEncoding="GB2312" %>
<%
  request.setCharacterEncoding("gb2312");
  //擷取Session會話中緩衝的驗證碼
  String rand = (String)session.getAttribute("rand");
  //擷取使用者輸入的驗證碼
  String input = request.getParameter("input");
  if(rand==null||input==null)
  {
   //無輸入驗證碼處理代碼
  }
  if (rand.equals(input)) {
   //驗證碼對比成功
  }
  else  {
   //驗證碼失敗處理代碼
  }
%>

以上為在JSP頁面中的驗證碼產生以及使用處理的源碼分析,在接下來的文章中將介紹下在Servlet中 使用驗證碼程式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.