用struts2 token防止刷新页面重复提交

用struts2token防止刷新页面重复提交.是跳转到一个提示错误页面,怎么能跳转到第一次不刷新时后的页面.参数值都带过去... 用struts2 token防止刷新页面重复提交.是跳转到一个提示错误页面,怎么能跳转到第一次不刷新时后的页面.参数值都带过去 展开
 我来答
狄十肆Bp
推荐于2016-01-21 · TA获得超过194个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:80.6万
展开全部
你好,下面的答案是从别人那里复制过来,讲的这样,不知道是否对你有帮助!!

在struts中,解决重复提交的问题,可以用Token令牌机制来处理。 原理: 服务器端在处理客户端的请求之前,会将请求中包含的令牌值与保存在当前会话中的令牌值进行比较,看是否匹配。在处理完该请求后,并且在信息达到客户端之前,将产生一个新的令牌。该令牌值将会替换当前会话中的令牌值,并且传到客户端。这样如果用户回退到刚才的提交页面并再一次提交的话,客户端传过来的令牌与服务其中的令牌值不一致,从而有效的防止了提交。 实现: 首先在预添加的Action的execute()方法中创建并保存一个令牌 saveToken(request); 功能:创建一个新令牌值,并且将它保存到当前的session中,如果HttpSession对象不存在的话,就先创建这个对象。 由预添加的Action将令牌传到了添加的页面上,作为一个隐藏域。在添加页面提交给添加AddAction后,在execute()方法中: 先判断当前会话中的令牌值和请求中的令牌值是不是一致的: isTokenValid(request) 如果不是一致的,给出错误信息,并且通过saveToken(request);刷新令牌值。 如果是一致的,那么就执行sql语句保存(添加),再通过resetToken(request)方法删除当前会话中的令牌。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式