为了账号安全,请及时绑定邮箱和手机立即绑定

重定向防止页面重复提交的原理?

重定向防止页面重复提交的原理?

红糖糍粑 2019-03-29 19:19:34
重定向防止页面重复提交的原理
查看完整描述

5 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

1.新建两个文件
index.jsp -- 表单页面
success.jsp -- 结果提示页面

2
2.代码分别如下:

3
3.新建TokenServlet,代码如下

4
4.运行index.jsp,输入用户名,点击提交

5
5.正常跳转结果页面

6
6.但当我在这个页面点击刷新的时候,出现如下提示

7
7.点击重试,发现又一次调用了servlet,这就是一个重复提交

8
8.多刷新几次,注意看URL地址,现在仍然是servlet

9
9.以前说重定向可以解决表单重复提交的问题,我们修改Servlet代码如下

10.再次测试,发现重定向到了success.jsp ,再点击刷新的话也不会出现重复提交了

11.那问题解决了么?再看,当我点击浏览器中的返回,然后再点击提交,如此反复,仍然在重复调用Servlet,这也是重复提交

12.现在修改Index.jsp

13.修改servlet代码

14.新建token文件,代码如下

15.在浏览器中测试(注,这里如果再使用Eclipse自带浏览器的话,会出现缓存问题,所以使用正常的浏览器火狐或者IE)

16.hidden中的token 和session中的token是相同的

17.当点击浏览器中的后退按钮,再次进行操作,发现不能重复提交

18.这是因为session中的token已经被移除掉了

19.而返回后刷新页面,相当于新开一个index.jsp 重新获取token 赋值给session,这时可以正常提交了

查看完整回答
反对 回复 2019-04-04
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

防止重复提交表单--按钮变灰的代码如下:
<script>
function disable()
{
document.form1.Submit.disabled=true;
}
</script>
<form name="form1" method="post" action="" onsubmit="disable()">
<p>
<input type="submit" name="Submit" value="提交">
</p>
</form>



查看完整回答
反对 回复 2019-04-04
  • 5 回答
  • 0 关注
  • 1590 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信