java自动生成验证码插件-kaptcha

来源:互联网 发布:微博刷粉软件苹果手机 编辑:程序博客网 时间:2024/06/12 06:31

kaptcha一个很好用的验证码插件,java版的,很不错的一个插件,只用简单的在web.xml中设置几个属性,一个很漂亮的验证码就出来了。其他的参数都可以自己设置,最牛的就是提供了接口,可以自己定义哦。

[图片] code.gif

[代码] html代码

1<form action="submit.action">
2    <img src="kaptcha.jpg" /> <input type="text" name="kaptcha" value="" />
3</form>

[代码] web.xml

1<servlet>
2        <servlet-name>Kaptcha</servlet-name>
3        <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
4</servlet>
5<servlet-mapping>
6        <servlet-name>Kaptcha</servlet-name>
7        <url-pattern>/kaptcha.jpg</url-pattern>
8</servlet-mapping>

[代码] java代码

1String kaptchaExpected = (String)request.getSession()
2    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
3String kaptchaReceived = request.getParameter("kaptcha");
4 
5if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected))
6{
7    setError("kaptcha""Invalid validation code.");
8}

[代码] 根据点击显示验证码

view source
print?
1<img src="/kaptcha" width="200" id="kaptchaImage" />
2<script type="text/javascript">
3    $(function(){
4        $('#kaptchaImage').click(function () {
5            $(this).attr('src', '/kaptcha.jpg?' + Math.floor(Math.random()*100) );
6        })
7    });
8</script>
9<br /><small>Can't read the image? Click it to get a new one.</small>


来自:http://www.oschina.net/code/snippet_12_1346