当前位置:   article > 正文

如何在自己登录注册页面添加验证码并且实时刷新_怎样让网页的验证码每提交都自动化刷新

怎样让网页的验证码每提交都自动化刷新

为什么要添加验证码?
为了防止重复提交表单,给服务器造成压力

需要的工具 : kaptcha-2.3.2.jar idea2019.3
谷歌验证码 封装好的servlet

首先导入jar包

导入完成之后 可以直接在web.xml进行配置

配置代码如下:

	<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.jpg</url-pattern>
	</servlet-mapping>
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

如果添加完成之后 重新部署 直接访问之后 就会得到一个验证码图片
效果如图;

在这里插入图片描述

问题来了?

得到图片之后 怎么获取 里面的字符

该工具会在登录后台 或者 注册后台 设置一个session 通过 id可以取出 value 值


        // 获取Session中的验证码
        String token = (String) req.getSession().getAttribute(KAPTCHA_SESSION_KEY);
        // 删除 Session中的验证码
        req.getSession().removeAttribute(KAPTCHA_SESSION_KEY);
  • 1
  • 2
  • 3
  • 4
  • 5

其中 KAPTCHA_SESSION_KEY是常量 固定ID

其中原理是 当我们请求服务器之后 通过session 得到值 之后 立马删除session 为下一次请求做准备

这样就防止多次请求

之后 获取 发送的 验证码 进行 比对
正确之后 进行下一步操作 不正确 返回页面 回显错误信息

String code = req.getParameter("code");
        //检查验证码有否有问题
        if (token != null && token.equalsIgnoreCase(code)) {
}else{

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如何在jsp页面中显示验证码图片呢

利用 img src 属性

                   <img  id="img_check" src="kaptcha.jpg" width="80px" height="40px" >
  • 1

其中 src中放的 正是请求servlet的地址 便可获取到图片

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/465112
推荐阅读
相关标签
  

闽ICP备14008679号