Spring MVC拦截器+注解方式实现防止表单重复提交

http://my.oschina.net/ydsakyclguozi/blog/534154

原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。

注,如果是集群的方式,则需要将token放入到缓存中即可。

注解Token代码:

拦截器TokenInterceptor代码:

然后在Spring MVC的配置文件里加入:

相关代码已经注释,相信你能看懂。
关于这个方法的用法是:在需要生成token的controller上增加@Token(save=true),而在需要检查重复提交的controller上添加@Token(remove=true)就可以了。
另外,你需要在view里在form里增加下面代码:

在相关方法中加入注解

已经完成了,去试试看你的数据还能重复提交了吧。