Session 防止表单重复提交
Posted 大圣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Session 防止表单重复提交相关的知识,希望对你有一定的参考价值。
问题背景:当在注册时,触发了一次注册提交后,出现网络延迟或卡顿时,用户就会下意识的狂点注册按钮,这时问题就来了,多次提交后后台直接将提交的数据在数据库进行保存。
---这其实就是个非法操作。
-->解决方案:
生成一个令牌。
在session域中保存令牌。
在表单中隐藏字段保存令牌。
当表单提交时,在处理的Servlet里检查,如果提交的令牌和session中保存的令牌一致,则执行逻辑,并删除session中的令牌。
如果session域中没有令牌,或和提交的令牌不符合,则认为是表单重复提交,提示。
jsp中设置代码保存令牌—我们此处用随机数作为令牌:
在servlet中检查:
以上是关于Session 防止表单重复提交的主要内容,如果未能解决你的问题,请参考以下文章
JavaWeb学习总结(十三)——使用Session防止表单重复提交
JavaWeb学习总结(十三)——使用Session防止表单重复提交