使用Session防止表单重复提交

Posted Ipeter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Session防止表单重复提交相关的知识,希望对你有一定的参考价值。

防止重复提交表单,方法有:

1、利用javascript防止表单重复提交

2、利用Session防止表单重复提交

具体的做法:在服务器端生成一个唯一的随机标识号,专业术语称为Token(令牌),同时在当前用户的Session域中保存这个Token。然后将Token发送到客户端的Form表单中,在Form表单中使用隐藏域来存储这个Token,表单提交的时候连同这个Token一起提交到服务器端,然后在服务器端判断客户端提交上来的Token与服务器端生成的Token是否一致,如果不一致,那就是重复提交了,此时服务器端就可以不处理重复提交的表单。如果相同则处理表单提交,处理完后清除当前用户的Session域中存储的标识号。
  在下列情况下,服务器程序将拒绝处理用户提交的表单请求:

    1. 存储Session域中的Token(令牌)与表单提交的Token(令牌)不同。
    2. 当前用户的Session中不存在Token(令牌)
    3. 用户提交的表单数据中没有Token(令牌)

以上是关于使用Session防止表单重复提交的主要内容,如果未能解决你的问题,请参考以下文章

使用Session防止表单重复提交

使用session防止表单进行重复提交

JavaWeb学习总结(十三)——使用Session防止表单重复提交

JavaWeb学习总结(十三)——使用Session防止表单重复提交

JavaWeb---总结(十三)使用Session防止表单重复提交

[Java拾遗五]使用Session防止表单重复提交