...
This integration module provides the shortest way to integrate JCaptcha to your web application.
This module is available since jcaptcha 2.0
This integration module provides the new default captcha configuration :
All you need to do is add the jcaptcha jar to your project, make a reference to the SimpleImageCaptchaServlet in your web.xml and then use the servlet session id to validate what the user submits on your form against the captcha service.
...
- Add the jcaptcha jar file into the WEB-INF/lib directory of your .war file
- If your app or server do not already have commons-logging and commons-collection into the WEB-INF/lib directory of your .war
- Put the reference in your web.xml (checking that the url-pattern path matches up with what you put in your html fragment above):
Code Block | ||||
---|---|---|---|---|
| ||||
<servlet> <servlet-name>jcaptcha</servlet-name> <servlet-class>com.octo.captcha.module.servlet.image.SimpleImageCaptchaServlet<servletSimpleImageCaptchaServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>jcaptcha</servlet-name> <url-pattern>/jcaptcha.jpg</url-pattern> </servlet-mapping> |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<form action="submit.action"> ... <img src="japtchajcaptcha.jpg" /> <input type="text" name="japtchajcaptcha" value="" /> ... </form> |
- In your code that manages the submit action add the following code fragment to validate the user input
Code Block | ||||
---|---|---|---|---|
| ||||
String userCaptchaResponse = request.getParameter("jcaptcha"); boolean captchaPassed = SimpleImageCaptchaServlet.validateResponse(request, userCaptchaResponse); if(captchaPassed){ // proceed to submit action }else{ // return error to user } |
And that's it!
Sample Web App
- see the attached sample web app (warning, this war contains commons-logging and commons-collections)