首先简单介绍下Kaptcha:
kaptcha是一个扩展子simplecaptcha的验证码库,在java编程中是一个非常实用的验证码生成工具。可以利用这个工具生成各种样式的验证码。虽说它是个流行的第三那方Java库,但它不在Maven的中央仓库中。
kaptcha 的工作原理是调用 com.google.code.kaptcha.servlet.KaptchaServlet ,生成一个验证码图片,响应到客户端,同时将生成的验证码字符串放到 HttpSession 中。
接下就可定制库到Maven本地资源库:
首先下载jar包, 链接地址(吐槽很多次都没进去成功。):
将其解压后将文件中 kaptcha-version.jar ( kaptcha-2.3.2.jar ) 复制到其他地方 (比如 C盘根目录下), 然后添加到本地Maven库中命令(可根据自己情况修改对应路径) 如下:
mvn install:install-file -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.2 -Dfile=C:\kaptcha-2.3.jar -Dpackaging=jar -DgeneratePom=true
然后在 pom.xml 中配置,注意要和上面的groupId、artifactId和version保持一致:
com.google.code kaptcha 2.3.2
最后便可在Libraries中看到如下:
4. 使用Kaptcha生成的验证码:
在web.xml中配置(使用Kaptcha 生成验证码十分简单并且参数可以进行自定义。只需添加jar包配置下就可以使用。kaptcha所有配置都可以通过web.xml来完成):
Kaptcha com.google.code.kaptcha.servlet.KaptchaServlet 图片边框,合法值:yes , no kaptcha.border yes 边框颜色,合法值: r,g,b (and optional alpha) 或者 white,black,blue. kaptcha.border.color black 边框厚度,合法值:>0 kaptcha.border.thickness 1 图片宽 160 kaptcha.image.width 180 图片高 32 kaptcha.image.height 50 图片实现类 kaptcha.producer.impl com.google.code.kaptcha.impl.DefaultKaptcha 文本实现类 kaptcha.textproducer.impl com.google.code.kaptcha.text.impl.DefaultTextCreator 文本集合,验证码值从此集合中获取 kaptcha.textproducer.char.string 1234567890abcdefghijklmnopqrstuvwxyz 验证码长度 5 kaptcha.textproducer.char.length 4 字体 Arial, Courier kaptcha.textproducer.font.names Arial, Courier 字体大小 40px. kaptcha.textproducer.font.size 32 字体颜色,合法值: r,g,b 或者 white,black,blue. kaptcha.textproducer.font.color black 文字间隔 2 kaptcha.textproducer.char.space 2 干扰实现类 kaptcha.noise.impl com.google.code.kaptcha.impl.NoNoise 干扰颜色,合法值: r,g,b 或者 white,black,blue. kaptcha.noise.color black 图片样式: 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy kaptcha.obscurificator.impl com.google.code.kaptcha.impl.WaterRipple 背景实现类 kaptcha.background.impl com.google.code.kaptcha.impl.DefaultBackground 背景颜色渐变,开始颜色 kaptcha.background.clear.from green 背景颜色渐变,结束颜色 kaptcha.background.clear.to white 文字渲染器 kaptcha.word.impl com.google.code.kaptcha.text.impl.DefaultWordRenderer session中存放验证码的key键 kaptcha.session.key KAPTCHA_SESSION_KEY The date the kaptcha is generated is put into the HttpSession. This is the key value for that item in the session. kaptcha.session.date KAPTCHA_SESSION_DATE Kaptcha /randomcode.jpg
.......