承接前兩篇數字/中文驗證碼生成,本文說明如何調用與驗證,並解決中文驗證碼亂碼問題。
<img id="code" src="Num.jsp" />
<input type="button" value="看不清,換一張" onClick="document.getElementById('code').src='ColorChinese.jsp'">
<input type="text" name="input" maxlength="8" />
<input type="submit" value="驗證測試" />
<%@ page pageEncoding="GB2312" %>
<%
request.setCharacterEncoding("gb2312");
String rand = (String) session.getAttribute("rand");
String input = request.getParameter("input");
if (rand != null && input != null && rand.equals(input)) {
// 驗證通過
} else {
// 驗證失敗
}
%>
關鍵:JSP 頁面編碼與 Session 取值編碼必須一致(統一 GB2312),否則中文驗證碼比對失敗。