java form 重复提交,后退再次提交

7哥 发布于 2014/11/17 17:01
阅读 621
收藏 0
生成一个令牌保存在用户session中,在form中加一个hidden域,显示该令 
牌的值,form提交后重新生成一个新的令牌,将用户提交的令牌和session 

中的令牌比较,如相同则是重复提交.

----------------上面这段话,我没理解了。请帮帮解释下。非常谢谢

加载中
0
laigous
laigous
这话的意思应该是为了避免重复提交的,首先在form中应该是随机产生一个令牌,当第一次提交时将这个令牌保存到session中,如果页面没有刷新或者其他触发令牌改变的事件,则令牌还是原来的,再次提交时和session中进行比对,一样的就是重复提交,不一样就不是咯!!
7哥
7哥
我没看清楚,你说的实在form中产生令牌... 这样就可以理解了;我想的是在action中产生令牌,存session和写到form。你这样说结果就是令牌一样的是重复
0
moz1q1
moz1q1

在你的jsp页面session.setA...("token","ok");

在你获取同时,进行比较啊,

0
7哥
7哥

引用来自“moziqi”的评论

在你的jsp页面session.setA...("token","ok");

在你获取同时,进行比较啊,

相同的时候是重复提交?还是不相同的时候是重复提交?
h
hao5ang
回复 @是雨声 : 尽信书不如无书
7哥
7哥
回复 @hao5ang : 我也是这个疑问,我怎么想都认为是不相同的时候才是重复提交
h
hao5ang
测试一下吧, 我认为不同的时候是重复提交.
0
moz1q1
moz1q1
你自己在java文件remove不就可以了吗?
0
7哥
7哥

引用来自“moziqi”的评论

你自己在java文件remove不就可以了吗?
按照上面 那样描述的,token永远都是相等的。。。
moz1q1
moz1q1
你好像做这个评论的这样,实现页面跳转,就可以防止了吧
moz1q1
moz1q1
121212
0
7哥
7哥

引用来自“laigous”的评论

这话的意思应该是为了避免重复提交的,首先在form中应该是随机产生一个令牌,当第一次提交时将这个令牌保存到session中,如果页面没有刷新或者其他触发令牌改变的事件,则令牌还是原来的,再次提交时和session中进行比对,一样的就是重复提交,不一样就不是咯!!
不明白的就是为什么“一样的就是重复提交,不一样就不是咯”,页面中的令牌和form中不是一样的吗?
laigous
laigous
肯定不是啊。可能是刷新页面或者修改了数据就变了。
0
程小猿
程小猿
如果换成ajax提交呢? 这样的令牌就不起作用了吧
返回顶部
顶部