ITKeyword,专注技术干货聚合推荐

注册 | 登录

struts2防止表单重复提交

linchunhua 分享于 2013-01-11

推荐:Struts2防止表单重复提交(源代码)

struts配置文件:struts.xml <xml version="1.0" encoding="UTF-8" > <!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuratio

2020腾讯云共同战“疫”,助力复工(优惠前所未有!4核8G,5M带宽 1684元/3年),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1054

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

1.用servlet&jsp防止表单重复提交的思路:

产生一个随机值,把这个值放在session中(例如:token=xxxxx),然后把这个值也包含在input.jsp的表单中(type=hidden)

input.jsp表单提交时,会把token也提交给servlet,在servlet中取出表单中token的值和当前session中的token的值比较,

如果一致就认为是第一次提交,并把session中的token删除或修改,

如果不一致就认为是重复提交,可以友好提示用户例如跳转到过期页面,或者在不一致时,不做处理直接使用第一次的请求的结果

 

2.struts2中防止表单重复提交:

token:

把<s:token>标签放在form表单中

在配置文件中

<interceptor-ref name="defaultStack"></interceptor-ref>

<interceptor-ref name="token">

              <param name="excludeMethods"></param> <!--配置token拦截器的要排除的方法-->

</interceptor-ref>

<result name="invalid.token">/invalidtoken.jsp</result><!--设置重复提交跳转的页面-->

推荐:Struts2中的拦截器防止重复提交

Struts2防止表单重复提交登录,可以使用两种拦截器 原理: 首先在提交表单中须加上<s:token></s:token>一个令牌。这个是服务器给你的一个令牌。实际上他是服务器

<s:token></s:token> 会产生一个token放在session中key为“struts.token” ,在页面上会生成俩个隐藏标签 一个叫struts.token.name  一个是用struts.token.name 值作为name的隐藏标签  例如<input type="hidden" name="struts.token.name" value="hello" /><input type="hidden" name="hello" value="2PILCE1BMTLDU3983XX0CIKH2N5QJ24T" />

提交到后台进行token 比对 不一样返回invaild.token,在对应的页面上可以用 <s:actionerror/>取出错误信息

tokensession:

把上面的拦截器的器的名称改成tokenSession,把<result name="invalid.token">/invalidtoken.jsp</result>去掉即可

token和tokenSession的不同之处就在于token重复提交会返回invalid.token参数,tokenSession多次提交,只会执行一次

token和tokenSession中都可以设置<param name="excludeMethods"></param>参数,用来表示哪些方法不会使用token,一般用在一个Action处理多个请求的情况下

 

 

 

 

 

 

 

 

 

 

推荐:【struts2】struts防止表单重复提交源码分析

一、概述         表单重复提交已经存在很久了,也有很多讨论。防止表单重复提交主要是防止“服务器处理慢时的页面刷新”,以及浏览器后退后再次提交,甚至是点

1.用servlet&jsp防止表单重复提交的思路: 产生一个随机值,把这个值放在session中(例如:token=xxxxx),然后把这个值也包含在input.jsp的表单中(type=hidden) input.jsp表单提交时,会把to

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。