表单的重复提交问题

1.表单提交到一个servlet、然后servlet 转发到一个页面,浏览器看到了成功页面,因为是转发 在,服务器端处理,所以,浏览器的路径还是请求servlet的路径,此时如果刷新,就等于重新发了一次请求。重复提交了
2.第二种情况是,由于网络慢或者是后台处理需要时间,没有 返回之前,又再次点击提交按钮。
3.第三种,我先点返回,再点击提交。也算是重复提交。其实第三种就和第二种一样。

第一种情况的解决:将转发换成重定向。

第二种怎么处理呢,
用session ,在表单页面我们就把session 中想存储现在的毫秒数 用attribute存 token
然后在表单页面放一个隐藏域,在提交的时候把和session中存的值一样。传过来。
我们拿到隐藏域的值,和session中的值作比较。如果一样我们就把session中的remove 这样,前端和后端就无法对应。就是重复提交了
trusts1 的组件和这个实现大致相同。

如果是前后端分离的项目。我们怎么处理。也就是在提交的时候要校验一下唯一的标识,如果这个标识出现过了。我们就说是重复提交了。可以用用用户的唯一标识先区分用户,然后再对比页面的唯一标志。这个只是自己的想法没有验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值