【JAVA验证码之Kaptcha】

Kaptcha是一个基于SimpleCaptcha的验证码开源项目。kaptcha 是一个非常实用的验证码生成工具。有了它,你可以生成各种样式的验证码,因为它是可配置的。kaptcha工作的原理是调用 com.google.code.kaptcha.servlet.KaptchaServlet,生成一个图片。同时将生成的验证码字符串放到 HttpSession中。

SimpleCaptcha is a Java library for generating CAPTCHA challenge/answer pairs. SimpleCaptcha is intended to be easy to implement and use sensible defaults, while providing easily-accesssible hooks for customization. Example implementations are provided in J2EE and Grails.

使用kaptcha可以方便的配置:

验证码的字体

验证码字体的大小

验证码字体的字体颜色

验证码内容的范围(数字,字母,中文汉字!)

验证码图片的大小,边框,边框粗细,边框颜色

验证码的干扰线(可以自己继承com.google.code.kaptcha.NoiseProducer写一个自定义的干扰线)

验证码的样式(鱼眼样式、3D、普通模糊……当然也可以继承com.google.code.kaptcha.GimpyEngine自定义样式)


配置文件详解 

<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>

猜你喜欢

转载自gaojingsong.iteye.com/blog/2392262