700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 扩展工具 - 图片验证码生成工具kaptcha

扩展工具 - 图片验证码生成工具kaptcha

时间:2021-05-11 14:15:12

相关推荐

扩展工具 - 图片验证码生成工具kaptcha

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

1.kaptcha介绍1.1 kaptcha概述1.2 入门案例 2.Kaptcha相关配置

1.kaptcha介绍

1.1 kaptcha概述

kaptcha 是一个很有用的验证码生成工具。有了它,你能够生成各种样式的验证码,由于它是可配置的。kaptcha工作的原理是调用com.google.code.kaptcha.servlet.KaptchaServlet,生成一个图片。同一时候将生成的验证码字符串放到 HttpSession中。使用kaptcha可以方便的配置: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线(可以自己继承com.google.code.kaptcha.NoiseProducer写一个自定义的干扰线) 验证码的样式(鱼眼样式、3D、普通模糊……当然也可以继承com.google.code.kaptcha.GimpyEngine自定义样式)

1.2 入门案例

开发步骤 :

导入kaptcha.jar包在web.xml中配置KaptchaServlet访问路径自定义一个类DemoServlet01,在session中查找到验证码。调用http://localhost:8080/kaptcha创建验证码。访问DemoServlet01查看验证码是否正确。

代码实现 :

导入kaptcha.jar包

在web.xml中配置KaptchaServlet访问路径

<servlet><servlet-name>KaptchaServlet</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class></servlet><servlet-mapping><servlet-name>KaptchaServlet</servlet-name><url-pattern>/kaptcha</url-pattern></servlet-mapping>

自定义一个类DemoServlet01,在session中查找到验证码。

@WebServlet("/demo01")public class DemoServlet01 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取前端输入的验证码String code = req.getParameter("code");// 获取生成的验证码String zcode = (String)req.getSession().getAttribute("KAPTCHA_SESSION_KEY");// 校验验证码是否正确if (zcode.equals(code)) {System.out.println("正确");}else {System.out.println("错误");}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}}

调用http://localhost:8080/kaptcha创建验证码。

访问DemoServlet01查看验证码是否正确。

2.Kaptcha相关配置

代码实现

<servlet><servlet-name>KaptchaServlet</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>red</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.image.width</param-name><param-value>160</param-value></init-param><init-param><param-name>kaptcha.image.height</param-name><param-value>50</param-value></init-param></servlet>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。