欢迎使用CSDN-markdown编辑器
来源:互联网 发布:宋孝宗 知乎 编辑:程序博客网 时间:2024/06/04 18:53
关于javaWeb中防止表单重复提交的方法
目前个人所知的有两种方法吧:
- 处理数据后重定向
- 使用struts2自带的token拦截器
方式一:
<action name="token_*" class="token_inter.employeeAction" method="{1}"> <result name="success">list.jsp</result> <result name="addsuccess" ype="redirectAction">token_list</result></action>
利用重定向来防止表单重复提交的方法。
二:使用struts2自带的token拦截器
1.要提交的表单中使用Struts的标签 <s:token></s:token>
那么会产生如下的效果:
<input type="hidden" name="token" value="ND9EORBIAR7WXFJ0DOWF0BPS5W26GQS3"><input type="hidden" name="struts.token.name" value="token">
可以看到 表单中多了这两行代码。
2.在struts.xml中使用拦截器
代码如下:
<action name="token_*" class="token_inter.employeeAction" method="{1}"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="token"> <-- 配置对那个方法进行防重复拦截 --> <param name="includeMethods">add</param> </interceptor-ref> <result name="success">list.jsp</result> <result name="addsuccess" type="redirectAction">token_list</result></action>
如此即可防止重提提交。
原理解析:
从<s:token>
标签生成的HTML标签来看和token的源码来看,可以看出原理为JSP与action各生成一个相同的ID,之后进行配对,若配对成功则成功提交并且删除action上的ID来达到效果的。
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- nyoj62笨小熊
- 数据结构实验之栈六:下一较大值(二)
- 快速幂取模运算(Modular Exponentiation)
- ubuntu10.4NFS挂载到mini2440相关问题
- Hive安装及使用攻略
- 欢迎使用CSDN-markdown编辑器
- 数据结构实验之栈七:出栈序列判定
- 第二章 运算和数据类型
- Property's synthesized getter follows Cocoa naming convention for returning
- 数据结构实验之栈八:栈的基本操作
- eclipse安装maven
- S3C2440 NAND Flash的使用
- 维度模型数据仓库(九) —— 角色扮演维度
- view getwidth() 和getMeasuredWidth()区别