锁定老帖子 主题:Spring2.5MVC实现控制重复提交
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-24
1.实现原理: 提交表单时,从session中取出当前的token值与保存在页面上token值进行比较,如果相等,可以保存表单数据,并将新生成的token保存到session中,如果不相等,则判断为重复提交。 本例采用spring的HandlerInterceptorAdapter拦截器来实现控制重复提交。
2.spring 配置:spring-servlet.xml <?xml version="1.0" encoding="UTF-8"?> <!-- <property name="mappingURL" value=".*/(save|approve|active)\.do" /> 红色字体部分是配置判断重复提交的拦截器
3.java类HandlerInterceptorAdapter.java
public class DoubleSubmitInterceptor extends HandlerInterceptorAdapter {
4.jsp 在保存数据表单的jsp中加如两个隐藏变量 <input type="hidden" name="token" id="token" value="${token}"> session中的token值
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-24
希望大家提出宝贵意见 谢谢!
|
|
返回顶楼 | |
发表时间:2010-03-25
希望大家回复一下,有不足的地方,请指出来! 谢谢
|
|
返回顶楼 | |
发表时间:2010-03-26
兄弟能把你的帖子编辑下么?眼花缭乱。
|
|
返回顶楼 | |
发表时间:2010-04-19
针对spring mvc里面的方法能拦截吗?
|
|
返回顶楼 | |
发表时间:2010-04-19
你这东西貌似不能完全避免重复提交啊。在你替换旧的token之前,可能第二次提交的线程已经过了条件判断。
|
|
返回顶楼 | |
发表时间:2010-04-19
条件判断那边需要加一个同步锁。
|
|
返回顶楼 | |
发表时间:2010-04-19
一般重复提交都是提交完了,转到结果页面。然后又刷新页面。因为页面的URL其实是提交地址,造成重复提交。如果处理完提交后不是forward而是redirect,那么是否可以避免重复提交呢?
|
|
返回顶楼 | |
发表时间:2010-04-20
魔力猫咪 写道 一般重复提交都是提交完了,转到结果页面。然后又刷新页面。因为页面的URL其实是提交地址,造成重复提交。如果处理完提交后不是forward而是redirect,那么是否可以避免重复提交呢?
这个也未必的,有些系统你点下提交按钮,它会顿一下,这下有些用户就会狂点提交按钮。 |
|
返回顶楼 | |
发表时间:2010-04-20
slaser 写道 魔力猫咪 写道 一般重复提交都是提交完了,转到结果页面。然后又刷新页面。因为页面的URL其实是提交地址,造成重复提交。如果处理完提交后不是forward而是redirect,那么是否可以避免重复提交呢?
这个也未必的,有些系统你点下提交按钮,它会顿一下,这下有些用户就会狂点提交按钮。 这个倒好说。提交的时候锁定提交按钮就可以。刷新页面因为是查询页面的url,也不会造成重复提交。 |
|
返回顶楼 | |