captcha验证码入门


kaptcha是一个简单易用的验证码生成工具,而且支持中文,你还可以配置其很多属性。

用法:

1、首先到http://code.google.com/p/kaptcha/downloads/list把压缩文件下下来,然后把里面的jar文件加到自己的web项目中。

2在web.xml中配置servlet,代码如下:
Xml代码 复制代码  收藏代码
  1. <servlet>  
  2.         <servlet-name>Kaptchaservlet-name>  
  3.         <servlet-class>com.google.code.kaptcha.servlet.KaptchaServletservlet-class>  
  4.     servlet>  
  5.   
  6.     <servlet-mapping>  
  7.         <servlet-name>Kaptchaservlet-name>  
  8.         <url-pattern>/kaptchaurl-pattern>  
  9.     servlet-mapping>  


3.页面代码:
Html代码 复制代码  收藏代码
  1. <div id="login" class="container" style="">  
  2.         <h2>用户登录h2>  
  3.         <form action="#" method="post" accept-charset="utf-8"  
  4.             class="navbar-form pull-left">  
  5.             <img src="kaptcha" /> <br>  
  6.             <input type="text" name="kaptcha" value="" /> <br>  
  7.             <p><a class="btn btn-primary" id="upload_btn">上传 a>  
  8.         form>  
  9.     div>  

用户登录



4.服务器端代码:
Java代码 复制代码  收藏代码
  1. String kaptchaExpected = (String)request.getSession() .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);   
  2. String kaptchaReceived = request.getParamater("kaptcha");   
  3. 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的一个简单的使用,你还可以根据自己的需要进行更详细的配置
Xml代码 复制代码  收藏代码
  1. <servlet-name>Kaptchaservlet-name>  
  2.   <servlet-class>com.google.code.kaptcha.servlet.KaptchaServletservlet-class>  
  3.     
  4.   <init-param>  
  5.    <param-name>kaptcha.borderparam-name>  
  6.    <param-value>yesparam-value>  
  7.   init-param>  
  8.     
  9.   <init-param>  
  10.    <param-name>kaptcha.border.colorparam-name>  
  11.    <param-value>105,179,90param-value>  
  12.   init-param>  
  13.     
  14.   <init-param>  
  15.    <param-name>kaptcha.textproducer.implparam-name>  
  16.    <param-value>org.cric.util.ChineseTextparam-value>  
  17.   init-param>  
  18.     
  19.   <init-param>  
  20.    <param-name>kaptcha.textproducer.font.colorparam-name>  
  21.    <param-value>blackparam-value>  
  22.   init-param>  
  23.     
  24.   <init-param>  
  25.    <param-name>kaptcha.image.widthparam-name>  
  26.    <param-value>130param-value>  
  27.   init-param>  
  28.     
  29.   <init-param>  
  30.    <param-name>kaptcha.image.heightparam-name>  
  31.    <param-value>44param-value>  
  32.   init-param>  
  33.     
  34.   <init-param>  
  35.    <param-name>kaptcha.textproducer.font.sizeparam-name>  
  36.    <param-value>30param-value>  
  37.   init-param>  
  38.     
  39.   <init-param>  
  40.    <param-name>kaptcha.textproducer.char.lengthparam-name>  
  41.    <param-value>4param-value>  
  42.   init-param>  
  43.     
  44.   <init-param>  
  45.    <param-name>kaptcha.textproducer.font.namesparam-name>  
  46.    <param-value>宋体,楷体,微软雅黑param-value>  
  47.   init-param>  
  48.   
  49.  servlet>  

你可能感兴趣的:(java)