如何在自己登录注册页面添加验证码并且实时刷新

世界杯决赛日期

为什么要添加验证码?

为了防止重复提交表单,给服务器造成压力

需要的工具 : kaptcha-2.3.2.jar idea2019.3

谷歌验证码 封装好的servlet类

首先导入jar包

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

配置代码如下:

KaptchaServlet

com.google.code.kaptcha.servlet.KaptchaServlet

KaptchaServlet

/kaptcha.jpg

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

效果如图;

问题来了?

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

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

// 获取Session中的验证码

String token = (String) req.getSession().getAttribute(KAPTCHA_SESSION_KEY);

// 删除 Session中的验证码

req.getSession().removeAttribute(KAPTCHA_SESSION_KEY);

其中 KAPTCHA_SESSION_KEY是常量 固定ID

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

这样就防止多次请求

之后 获取 发送的 验证码 进行 比对

正确之后 进行下一步操作 不正确 返回页面 回显错误信息

String code = req.getParameter("code");

//检查验证码有否有问题

if (token != null && token.equalsIgnoreCase(code)) {

}else{

}

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

利用 img src 属性

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

Copyright © 2088 世界杯女足_足球歌曲世界杯主题曲 - luxiuying.com All Rights Reserved.
友情链接