Java验证码开源框架:jcaptcha

09-09-23 banq

jcaptcha是一个标准CAPTCHA实现,这是一种用来分辨计算机自动响应还是人工输入的技术,就是我们俗称的登录验证码。防止计算机自动识别简单的验证码进行注册登录。

jcaptcha是 Java Completely Automated Public Test to tell Computers and Humans Apart。

验证码输出案例,包括声音:

使用起来很简单:

1.将 jcaptcha.jar file into the WEB-INF/lib

2.配置web.xml

<servlet>

<servlet-name>jcaptcha</servlet-name>

<servlet-class>com.octo.captcha.servlet.image.SimpleImageCaptchaServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>jcaptcha</servlet-name>

<url-pattern>/jcaptcha.jpg</url-pattern>

</servlet-mapping>

3.在你需要输入验证码的页面表单加入:

<form action="submit.action">

...

<img src="jcaptcha.jpg" /> <input type="text" name="jcaptcha" value="" />

...

</form>

4.在表单提交的接受servlet或Action或Controller中加入下面代码进行验证:

String userCaptchaResponse = request.getParameter("jcaptcha");

boolean captchaPassed = SimpleImageCaptchaServlet.validateResponse(request, userCaptchaResponse);

if(captchaPassed){

// proceed to submit action

}else{

// return error to user

}

开源项目网址:

jcaptcha

[该贴被banq于2009-09-23 11:06修改过]

3
xysniper
2009-09-23 13:57

我试了,显示一个叉,没有出现图片,我把网站上的demo拿下来也显示不出来

banq
2009-09-23 14:07

你倒挺快,我只是配了没有试验呢,可能这个jsp中<img src="jcaptcha.jpg" />中应该在jcaptcha.jpg加上绝对路径http://localhost:8080/你的项目WAR名/jcaptcha.jpg

xysniper
2009-09-23 15:27

我就是这样访问的,根本不行,图片路径是对的,但不显示

xysniper
2009-09-23 15:58

估计是java version不同导致,网上提供的jar是用jdk6.0以上编译的,如果使用jre1.5就不能正常使用,我没有试过

3Go 1 2 3 下一页