Web驗證碼的實現方法(2)---開源元件Jcaptcha
阿新 • • 發佈:2019-01-23
jcaptcha是一個開源的用來生成圖形驗證碼的Java開源元件,使用起來也是非常的簡單方便。
1.jsp部分
<body> <h2>Simple Captcha Servlet sample</h2> <form action="submit.action" method="post"> <img src="jcaptcha.jpg" /> <input type="text" name="japtcha" value="" /> <input type="submit"/> </form> </body>
2.Servlet部分
先匯入jcaptcha-2.0-alpha-1-SNAPSHOT.jar jcaptcha-api-1.0.jarjcaptcha-integration-simple-servlet-2.0-alpha-1-SNAPSHOT.jar
這三個包 下載地址:上傳的資源暫時未稽核通過,通過後放上來,也可百度搜索下載,一樣的。
package com.octo.captcha.module.servlet.image.sample; import com.octo.captcha.module.servlet.image.SimpleImageCaptchaServlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SubmitActionServlet extends HttpServlet{ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userCaptchaResponse = request.getParameter("japtcha"); boolean captchaPassed = SimpleImageCaptchaServlet.validateResponse(request, userCaptchaResponse); if (captchaPassed) response.getWriter().write("captcha passed"); else { response.getWriter().write("captcha failed"); } response.getWriter().write("<br/><a href='index.jsp'>Try again</a>"); } }
3. web.xml部分
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Simple Image Captcha Servlet Sample</display-name> <servlet> <servlet-name>jcaptcha</servlet-name> <servlet-class>com.octo.captcha.module.servlet.image.SimpleImageCaptchaServlet</servlet-class> </servlet> <servlet> <servlet-name>submit</servlet-name> <servlet-class>com.octo.captcha.module.servlet.image.sample.SubmitActionServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>jcaptcha</servlet-name> <url-pattern>/jcaptcha.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>submit</servlet-name> <url-pattern>/submit.action</url-pattern> </servlet-mapping> </web-app>