表单重复提交问题解决以及谷歌kaptcha验证码的实现

一般造成表单多次重复提交的原因可以归纳成一下三个:
1如果使用转发的话 用户可以多次刷新页面导致多次的重复请求
–使用重定向解决
2因为网络延迟 用户点击完后没反应 导致多次重复点击 网络通畅后会收到很多次请求~
3用户成功提交后 回退浏览器记录 重新提交~

为了解决这几个重复提交的问题 可以用验证码解决 我们使用谷歌kaptcha验证码来讲解具体实现过程

1导入kaptcha jar包    使用KaptchaServlet配置谷歌用来生成验证码的Servlet程序 只要请求这个servlet就返回验证码的图片
2用img标签 src为该servlet的地址
3request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY)获取验证码
4request.getSession().removeAttribute(Constants.KAPTCHA_SESSION_KEY); 删除服务器端验证码
5比较验证码是否相同

有的浏览器会因为缓存导致验证码更新不了 ,我们可以使用如下方式进行切换:

js中声明图片的src为验证码Servlet的地址加一个随机化的参数~
发布了63 篇原创文章 · 获赞 44 · 访问量 6270

猜你喜欢

转载自blog.csdn.net/weixin_40695328/article/details/89553399