kaptcha是一个简单易用的验证码生成工具,而且支持中文,你还可以配置其很多属性。
用法:
1、首先到http://code.google.com/p/kaptcha/downloads/list把压缩文件下下来,然后把里面的jar文件加到自己的web项目中。
2在web.xml中配置servlet,代码如下:
- <servlet>
- <servlet-name>Kaptcha</servlet-name>
- <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>Kaptcha</servlet-name>
- <url-pattern>/kaptcha</url-pattern>
- </servlet-mapping>
<servlet>
<servlet-name>Kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Kaptcha</servlet-name>
<url-pattern>/kaptcha</url-pattern>
</servlet-mapping>
3.页面代码:
- <div id="login" class="container" style="">
- <h2>用户登录</h2>
- <form action="#" method="post" accept-charset="utf-8"
- class="navbar-form pull-left">
- <img src="kaptcha" /> <br>
- <input type="text" name="kaptcha" value="" /> <br>
- <p><a class="btn btn-primary" id="upload_btn">上传 </a>
- </form>
- </div>
<div id="login" class="container" style="">
<h2>用户登录</h2>
<form action="#" method="post" accept-charset="utf-8"
class="navbar-form pull-left">
<img src="kaptcha" /> <br>
<input type="text" name="kaptcha" value="" /> <br>
<p><a class="btn btn-primary" id="upload_btn">上传 </a>
</form>
</div>
4.服务器端代码:
- String kaptchaExpected = (String)request.getSession() .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
- String kaptchaReceived = request.getParamater("kaptcha");
- if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected)){ setError("kaptcha", "Invalid validation code.");}
String kaptchaExpected = (String)request.getSession() .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
String kaptchaReceived = request.getParamater("kaptcha");
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected)){ setError("kaptcha", "Invalid validation code.");}
以上就完成了kaptcha的一个简单的使用,你还可以根据自己的需要进行更详细的配置
- <servlet-name>Kaptcha</servlet-name>
- <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
-
- <init-param>
- <param-name>kaptcha.border</param-name>
- <param-value>yes</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.border.color</param-name>
- <param-value>105,179,90</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.textproducer.impl</param-name>
- <param-value>org.cric.util.ChineseText</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.textproducer.font.color</param-name>
- <param-value>black</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.image.width</param-name>
- <param-value>130</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.image.height</param-name>
- <param-value>44</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.textproducer.font.size</param-name>
- <param-value>30</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.textproducer.char.length</param-name>
- <param-value>4</param-value>
- </init-param>
-
- <init-param>
- <param-name>kaptcha.textproducer.font.names</param-name>
- <param-value>宋体,楷体,微软雅黑</param-value>
- </init-param>
-
- </servlet>
<servlet-name>Kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
<!-- 设置是否有边框 -->
<init-param>
<param-name>kaptcha.border</param-name>
<param-value>yes</param-value>
</init-param>
<!-- 设置边框颜色-->
<init-param>
<param-name>kaptcha.border.color</param-name>
<param-value>105,179,90</param-value>
</init-param>
<!-- 获取中文 -->
<init-param>
<param-name>kaptcha.textproducer.impl</param-name>
<param-value>org.cric.util.ChineseText</param-value>
</init-param>
<!-- 设置字体颜色 -->
<init-param>
<param-name>kaptcha.textproducer.font.color</param-name>
<param-value>black</param-value>
</init-param>
<!-- 设置验证码宽度 -->
<init-param>
<param-name>kaptcha.image.width</param-name>
<param-value>130</param-value>
</init-param>
<!-- 设置验证码高度 -->
<init-param>
<param-name>kaptcha.image.height</param-name>
<param-value>44</param-value>
</init-param>
<!-- 设置字体大小 -->
<init-param>
<param-name>kaptcha.textproducer.font.size</param-name>
<param-value>30</param-value>
</init-param>
<!-- 设置字体个数 -->
<init-param>
<param-name>kaptcha.textproducer.char.length</param-name>
<param-value>4</param-value>
</init-param>
<!-- 设置字体样式 -->
<init-param>
<param-name>kaptcha.textproducer.font.names</param-name>
<param-value>宋体,楷体,微软雅黑</param-value>
</init-param>
</servlet>
captcha验证码入门
原文:http://blog.csdn.net/j2spark/article/details/51002925