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