比如在增、删、改完后,刷新页面时会重新提交上次的请求。
解决办法:
在页面的<body></body>中添加token令牌:
1. 在页面中定义token:
<%@ page import = “java.util.Random”%>
<%
Int token = new Random().nextInt();
Session.setAttribute(“token”,token);
%>
<html>
<head><title></title></head>
<body>
定义token
设置一个隐藏域把token的值传入后台
<input type=”hidden” name = “token” value=”<%=token%>”>
</body>
</html>
2. 在Action中:
首先要定义一个token,并提供get 和set 方法
定义一个int型变量接受session中token的值
Int temp = 0;
Try{
Temp = Integer.parseInt(ActionContext.getContext().getSession().get(“token”).toString());
}catch(){
}
If( temp == token){
第一次时,temp与token肯定相等 ,放过执行,然后在remove掉token。
ActionContext.getContext().getSession().remove(“token”);
}else{
重复提交, 此时token的值为空.
ActionContext.getContext().getSession().remove(“token”);
Return 返回页面;
}
分享到:
相关推荐
Struts 之旅 - 重复提交 token
struts2防止表单重复提交,利用struts的拦截器tokenSession,轻轻松松解决表单重复提交的问题。 附件为源代码,后台延迟了3秒,可直接在web服务器下部署运行,输入用户名和密码后,多点几次提交按钮,然后看控制台...
这里是Struts2 中放置表单重复提交的例子。
struts token机制解决表单重复提交
主要讲解了在structs怎样通过Token令牌解决表单重复提交的问题。附带了擦参考项目。
防止表单重复提交 token eclipse项目
struts2中token限制表单多次提交
详细介绍struts+token机制解决表单重复提交问题。附带相关代码
用struts的token解决重复提交问题
JavaEE Struts2利用tokenSession防止重复提交
在struts 中可以通过token 来解决重复提交的问题。
struts2_token控制刷新重复提交
Struts1.x令牌(Token)的使用.rar
这个示例简单易懂,就是利用token过滤器
Struts2 防重复提交Demo 利用Struts2自带的s:token写的防数据重复提交策略.
防止表单重复提交的方法(简单的token方式),内附实现代码及实现思路。
NULL 博文链接:https://minejava.iteye.com/blog/960617
详解struts2的token机制和cookie来防止表单重复提交 今天在做一个投票系统时要实现防止表单重复提交! 当时就想到了用struts2提供的token机制 struts2的token机制防止表单重复提交: 首先需要在提交的jsp页面(要...
简单的struts2令牌token实例 方便应用 不懂token也可以参考学习 主要用于解决重复提交的问题
基于SSM开发框架,使用Token并通过注解和拦截器方式实现表单重复提交验证