小奋斗 - 轻松学习从此开始!
IT小奋斗群 QQ群:62017228

Java Kaptcha验证码组件的使用和源码

Kaptcha是google提供一个的验证码生成器插件,通用servlet配置验证码字体、颜色、大小、边框等,生成各种各样您喜欢的验证码。本工程主要演示了如果使用Kaptcha组件。

开发环境:

JDK1.7 + MyEclipse2014 + kaptcha-2.3.2


相关工具包下载:

kaptcha:http://www.what21.com/a/pan/java.lib_kaptcha-2.3.2.html

源码为myeclipse工程,相关工具包需要手动引入。


Kaptcha使用说明:

1、配置验证码Servlet

com.google.code.kaptcha.servlet.KaptchaServlet

2、验证码样式配置

从Servlet启动参数中配置

<init-param>
	<description> 是否需要边框. Legal values are yes or no. </description>
	<param-name>kaptcha.border</param-name>
	<param-value>no</param-value>
</init-param>
<init-param>
	<description>边框颜色. Legal values are r,g,b (and optional alpha) or white,black,blue. </description>
	<param-name>kaptcha.border.color</param-name>
	<param-value>black</param-value>
</init-param>
<init-param>
	<description>边框厚度. Legal values are > 0. </description>
	<param-name>kaptcha.border.thickness</param-name>
	<param-value>1</param-value>
</init-param>
<init-param>
	<description>图片宽度 </description>
	<param-name>kaptcha.image.width</param-name>
	<param-value>120</param-value>
</init-param>
<init-param>
	<description>图片高度 </description>
	<param-name>kaptcha.image.height</param-name>
	<param-value>25</param-value>
</init-param>
<init-param>
	<description>图片实现类</description>
	<param-name>kaptcha.producer.impl</param-name>
	<param-value>com.google.code.kaptcha.impl.DefaultKaptcha </param-value>
</init-param>
<init-param>
	<description>文字实现类</description>
	<param-name>kaptcha.textproducer.impl</param-name>
	<param-value>com.google.code.kaptcha.text.impl.DefaultTextCreator</param-value>
</init-param>
<init-param>
	<description>文本集合,验证码值从此集合中获取 </description>
	<param-name>kaptcha.textproducer.char.string</param-name>
	<param-value>abcde2345678gfynmnpwx </param-value>
</init-param>
<init-param>
	<description>验证码长度 </description>
	<param-name>kaptcha.textproducer.char.length</param-name>
	<param-value>4</param-value>
</init-param>
<init-param>
	<description>字体</description>
	<param-name>kaptcha.textproducer.font.names</param-name>
	<param-value>Arial, Courier</param-value>
</init-param>
<init-param>
	<description>字体大小 </description>
	<param-name>kaptcha.textproducer.font.size</param-name>
	<param-value>16</param-value>
</init-param>
<init-param>
	<description>字体颜色 </description>
	<param-name>kaptcha.textproducer.font.color</param-name>
	<param-value>black</param-value>
</init-param>
<init-param>
	<description>字体间隔</description>
	<param-name>kaptcha.textproducer.char.space</param-name>
	<param-value>4</param-value>
</init-param>
<init-param>
	<description>干扰实现类 </description>
	<param-name>kaptcha.noise.impl</param-name>
	<param-value>com.google.code.kaptcha.impl.NoNoise </param-value>
</init-param>
<init-param>
	<description>干扰颜色</description>
	<param-name>kaptcha.noise.color</param-name>
	<param-value>blue</param-value>
</init-param>
<init-param>
	<description> 验证码样式引擎  默认为WaterRipple </description>
	<param-name>kaptcha.obscurificator.impl</param-name>
	<param-value>com.google.code.kaptcha.impl.ShadowGimpy</param-value>
</init-param>
<init-param>
	<description>The background implementation. </description>
	<param-name>kaptcha.background.impl</param-name>
	<param-value>com.google.code.kaptcha.impl.DefaultBackground</param-value>
</init-param>
<init-param>
	<description>Ending background color. Legal values are r,g,b. </description>
	<param-name>kaptcha.background.clear.to</param-name>
	<param-value>white</param-value>
</init-param>
<init-param>
	<description>The word renderer implementation. </description>
	<param-name>kaptcha.word.impl</param-name>
	<param-value>com.google.code.kaptcha.text.impl.DefaultWordRenderer</param-value>
</init-param>
<init-param>
	<description>The value for the kaptcha is generated and is put into the HttpSession. This is the key value for that item in the session. </description>
	<param-name>kaptcha.session.key</param-name>
	<param-value>KAPTCHA_SESSION_KEY</param-value>
</init-param>
<init-param>
	<description>The date the kaptcha is generated is put into the HttpSession. This is the key value for that item in the session. </description>
	<param-name>kaptcha.session.date</param-name>
	<param-value>KAPTCHA_SESSION_DATE</param-value>
</init-param>

3、从HTTPSession中取验证码值

String code = (String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);


4、工程实现功能

验证码的生成;点击验证码图更换验证码;提交验证码验证等。

我来评几句
登录后评论

已发表评论数(0)