谷歌驗證碼 kaptcha 使用步驟如下:
1、 導入谷歌驗證碼的 jar 包
kaptcha-2.3.2.jar
2、 在 web.xml 中去配置用於生成驗證碼的 Servlet 程序
1 <servlet> 2 <servlet-name>KaptchaServlet</servlet-name> 3 <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> 4 </servlet> 5 <servlet-mapping> 6 <servlet-name>KaptchaServlet</servlet-name> 7 <url-pattern>/kaptcha.jpg</url-pattern> 8 </servlet-mapping>
3、 在表單中使用 img 標簽去顯示驗證碼圖片並使用它
1 <label>驗證碼:</label> 2 <input class="itxt" type="text" name="code" style="width: 60px; margin-left: 15px;margin-left: 15px" id="code"/> 3 <img alt="" id="code_img" src="kaptcha.jpg" style="float: right;width: 160px;margin-right: 49px">
4、使用jQuery,來使驗證碼可以更新
1 <script type="text/javascript"> 2 $(function () { 3 $("#code_img").click(function () { 4 // 在事件響應的 function 函數中有一個 this 對象。 這個 this 對象, 是當前正在響應事件的 dom 對象 5 // src 屬性表示驗證碼 img 標簽的 圖片路徑。 它可讀, 可寫 6 this.src = "${basePath}kaptcha.jpg?d=" + new Date(); 7 }); 8 }); 9 </script>
5、在servlet進行獲取和驗證
1 public void get(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 2 // 1、獲取輸入的驗證碼 3 String code = req.getParameter("code"); 4 //獲取圖片里驗證碼的值 5 String attribute = (String)req.getSession().getAttribute(KAPTCHA_SESSION_KEY); 6 //獲取驗證碼之后,再刪除掉 7 req.getSession().removeAttribute(KAPTCHA_SESSION_KEY); 8 //2、檢查 驗證碼是否正確 === 寫死,要求驗證碼為:abcde 9 if (attribute!=null&&attribute.equalsIgnoreCase(code)) { 10 System.out.println("正確!"); 11 }else{ 12 System.out.println("錯誤!"); 13 } 14 }