谷歌 kaptcha 图片验证码的使用

谷歌验证码 kaptcha 使用步骤如下:
1、 导入谷歌验证码的 jar
kaptcha-2.3.2.jar
2、 在 web.xml 中去配置用于生成验证码的 Servlet 程序

1 <servlet>
2 <servlet-name>KaptchaServlet</servlet-name>
3 <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
4 </servlet>
5 <servlet-mapping>
6 <servlet-name>KaptchaServlet</servlet-name>
7 <url-pattern>/kaptcha.jpg</url-pattern>
8 </servlet-mapping>

3、 在表单中使用 img 标签去显示验证码图片并使用它

1  <label>验证码:</label>
2  <input class="itxt" type="text" name="code" style="width: 60px;    margin-left: 15px;margin-left: 15px" id="code"/>
3  <img alt="" id="code_img" src="kaptcha.jpg" style="float: right;width: 160px;margin-right: 49px">

4、使用jQuery,来使验证码可以更新

1 <script type="text/javascript">
2     $(function () {
3         $("#code_img").click(function () {
4             // 在事件响应的 function 函数中有一个 this 对象。 这个 this 对象, 是当前正在响应事件的 dom 对象
5             // src 属性表示验证码 img 标签的 图片路径。 它可读, 可写
6             this.src = "${basePath}kaptcha.jpg?d=" + new Date();
7         });
8     });
9 </script>

5、在servlet进行获取和验证

 1 public void get(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 2         //  1、获取输入的验证码
 3         String code = req.getParameter("code");
 4         //获取图片里验证码的值
 5         String attribute = (String)req.getSession().getAttribute(KAPTCHA_SESSION_KEY);
 6         //获取验证码之后,再删除掉
 7         req.getSession().removeAttribute(KAPTCHA_SESSION_KEY);
 8         //2、检查 验证码是否正确  === 写死,要求验证码为:abcde
 9         if (attribute!=null&&attribute.equalsIgnoreCase(code)) {
10                 System.out.println("正确!");
11         }else{
12                 System.out.println("错误!");
13         }
14 }

猜你喜欢

转载自www.cnblogs.com/0error0warning/p/12602145.html