使用kaptcha生成验证码
人气:0kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小、颜色、显示的字符等等。下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证码进行校验。
操作方法
- 01
创建Web测试项目新建一个Web项目,并将kaptcha-2.3.2.jar放在项目的WEB-INF/lib目录下,如下图所示:
- 02
在web.xml文件配置生成验证码的KaptchaServletKaptchaServlet的详细配置如下:<!-- kaptcha验证码配置 --><servlet><!-- 生成图片的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>no</param-value></init-param><!-- 字体颜色 --><init-param><param-name>kaptcha.textproducer.font.color</param-name><param-value>red</param-value></init-param><!-- 图片宽度 --><init-param><param-name>kaptcha.image.width</param-name><param-value>135</param-value></init-param><!-- 使用哪些字符生成验证码 --><init-param><param-name>kaptcha.textproducer.char.string</param-name><param-value>ACDEFHKPRSTWX345679</param-value></init-param><!-- 图片高度 --><init-param><param-name>kaptcha.image.height</param-name><param-value>50</param-value></init-param><!-- 字体大小 --><init-param><param-name>kaptcha.textproducer.font.size</param-name><param-value>43</param-value></init-param><!-- 干扰线的颜色 --><init-param><param-name>kaptcha.noise.color</param-name><param-value>black</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>Arial</param-value></init-param></servlet><!-- 映射的url --><servlet-mapping><servlet-name>Kaptcha</servlet-name><url-pattern>/Kaptcha.jpg</url-pattern></servlet-mapping>
- 03
显示生成的验证码在页面index.jsp显示验证码,代码如下:
- 04
运行效果如下图所示:
- 05
在服务器端验证提交的验证码用户在form表单中提交了验证码之后,我们会在服务器端进行验证,编写一个VerifyServlet,代码如下:package me.gacl.web.controller;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class VerifyServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charaset=utf-8");response.setHeader("pragma", "no-cache");response.setHeader("cache-control", "no-cache");PrintWriter out = null;try else else {resultData = "Y";}}out = response.getWriter();out.write(resultData);out.flush();}catch(Exception e) {e.printStackTrace();}finally {if(out != null) {out.close();}}}}
- 06
在web.xml中注册VerifyServlet。代码如下:<!-- 检查验证码是否输入正确 --><servlet><servlet-name>VerifyServlet</servlet-name><servlet-class>me.gacl.web.controller.VerifyServlet</servlet-class></servlet><servlet-mapping><servlet-name>VerifyServlet</servlet-name><url-pattern>/servlet/VerifyServlet</url-pattern></servlet-mapping>
- 07
运行结果如下:1、验证码不输入
- 08
2、输入错误的验证码
- 09
3、输入正确的验证码
- 10
使用kaptcha生成验证码感觉挺不错的,非常好用和方便。
加载全部内容