Spring MVC 2次提交问题

omihan1982 发布于 2015/09/04 19:57
阅读 413
收藏 1

各位大侠,最近小弟在学习spring mvc框架,学习过程中遇到个问题。那就是怎么实现防止页面2次提交。小弟我自己想了个方法,就是页面提交的时候把一个固定值保存到session里,在执行完成后把这个session里的值清空。每次提交的时候查看session里面有没有值,有值的话就说明已经提交过了属于2次提交。这样,问题来了。

1、知道了2次提交后我应该怎么办?跳转到自页面?这样的话之前提交的处理(就是这次提交处理前正在处理的提交)完成会怎么样?会自动跳转到该去的页面么?

2、网上搜了下,发现实现防止2次提交的方法大多是使用token和拦截器。请问这个方法和我上面的做法有啥区别?(用户体验和做法复杂度上面)然后就是可能水平太差,老实说关于使用token和拦截器的实现不太明白。有哪位好心的大侠给我解释下,或者提供给我点资料,让我学习下。

谢谢各位了。

加载中
0
公孙二狗
公孙二狗

防止表单重复提交 http://qtdebug.com/java/20.%20防止表单重复提交.html

使用了 Redirect,Token,Spring 的拦截器防止表单重复提交

omihan1982
omihan1982
非常感谢,我已经使用拦截器实现了防止重复提交。
omihan1982
omihan1982
谢谢了。正好是我想要的。研究下。 感觉上如果监测到了是2次提交,不要进行页面跳转比较好。 要不然用户体验可能比较差,再者要是用ajax提交的话,是没有页面跳转的。我准备在监测到了2次提交后,弹出alert框来告诉用户。 非常感谢你给我的链接。在这里果然高人很多。有的学了。哈哈
0
CoderLeon
CoderLeon

按钮灰掉,简单暴力。当然前端可以非法修改css,呵呵

omihan1982
omihan1982
谢谢你的回答。 你说的这点确实需要,可以提高用户体验。 不过有时候用户还可以点击刷新按钮来提交页面,这个时候其实也是2次提交,因为后台还在处理上次的处理。。。
0
景愿
景愿

token就是在提交的页面的form中生成一个token,第一次提交后token即被用掉,第二次提交后台验证无效,可以是拦截器判断,也可以是其他地方判断。。

至于优点嘛,现在很多不都崇尚“不用SESSION”嘛

omihan1982
omihan1982
回复 @景愿 : 好的,知道了。我先试试看。不行再问。 谢谢。
景愿
景愿
回复 @omihan1982 : 我只能说这个只能结合实际情况下结论。。
omihan1982
omihan1982
嗯,有道理。 再问一下,如果我判断出来了是2次提交,我应该怎么办? 可以直接不做页面跳转么?或者跳转到自己页面。这样对上次的处理有影响么?上次的处理完成后页面跳转也可以正常跳转的吧?
0
noday
noday
post之后redirect一下
0
donghai
donghai
spring token标签
返回顶部
顶部