1. 什么是表单的重复提交? 前提: 在控制器中相应页面的形式为页面的转发而不是重定向.
1). 若刷新表单页面后, 再提交表单不算重复提交. 除此之外都算为表单的重复提交.
2). 在不刷新表单页面的前提下:
①. 多次点击提交按钮
②. 已经提交成功, 然后点击 "刷新(F5)"
③. 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮".
2. 重复提交由什么缺点:
1). 加重了服务器的负担.
2). 可能导致错误操作.
3. 解决方案:
1). 在页面上使用 js --> 禁止多次点击 "提交按钮". 可以解决 ①
2).利用 session 解决服务器端的重复提交问题.
①. 不能使用 request 解决重复提交, 因为当前页面刷新以后 request 生命周期结束, 不能把 request 中的属性带到 Action 中.
②. 具体步骤:
-->页面上, 在 session 中放置一个Token
<%
org.apache.struts.util.TokenProcessor.getInstance().saveToken(request);
%>
-->在 action 中检验该属性是否存在, 若存在(说明是第一次请求) 清除该属性, 受理请求
->若在 action 中该属性是不存在, 说明该属性已被清除, 拒绝请求.
if(TokenProcessor.getInstance().isTokenValid(request)){
TokenProcessor.getInstance().resetToken(request);
}else{
// 表单重复提交 ,拒绝请求。
}
// 正常请求
分享到:
相关推荐
当用户将信息提交到服务器,服务器响应采用forward方式调转到下一个页面后,此时地址栏中显示的是上个页面的URL,若刷新当前页面,浏览器会将再次提交用户先前输入的数据,就会再次出现表单重复提交的问题。...
这里是Struts2 中放置表单重复提交的例子。
struts2防止表单重复提交,利用struts的拦截器tokenSession,轻轻松松解决表单重复提交的问题。 附件为源代码,后台延迟了3秒,可直接在web服务器下部署运行,输入用户名和密码后,多点几次提交按钮,然后看控制台...
struts2防止表单重复提交--重定向
防止表单重复提交 token eclipse项目
【原创】Struts2防止表单重复提交.doc
这个示例简单易懂,就是利用token过滤器
struts数据回显、模型驱动、防止表单重复提交
struts2防止重复登录,分享给大家学习一下。
详解struts2的token机制和cookie来防止表单重复提交 今天在做一个投票系统时要实现防止表单重复提交! 当时就想到了用struts2提供的token机制 struts2的token机制防止表单重复提交: 首先需要在提交的jsp页面(要...
SSH笔记-数据验证、上传下载、避免表单重复提交、自定义拦截器
本文档主要记录了struts2的属性驱动和模型驱动的区别,以及防止表单重复提交,另外增加了验证信息的正确位置的显示,希望对你有所帮助!
Struts2知识点总结,包括文件上传,文件下载,防止表单重复提交,Struts2标签,Struts2拦截器
传智播客的struts高级实战进阶 MVC模式的回顾 ...防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与digester
简单使用struts2,Hibernate 3实现注册模块 另外使用token方式防止表单重复提交 使用hbm2ddl.auto,透过pojo产生数据库表
介绍Struts 2及Struts 2开发环境的搭建 第一个Struts 2应用开发 解决Struts 2配置文件无提示问题 Action名称的搜索顺序 ...使用标签防止表单重复提交 Struts 2+Spring 2.5+Hibernate 3.3整合开发
struts2知识点:处理流程,基本配置,与servlet的API解耦,结果类型,通配符和动态方法的调用,类型转换,文件上传,拦截器,表单验证,国际化,OGNL表达式,UI标签,模型驱动,防止表单重复提交,项目练习知识点:...
这里包含了struts2标签的介绍,介绍了Struts2中OGNLvalueStack和stackContext,radio List的预选问题,文件的上传与下载,防止表单重复提交optiontransferselect字符串拼接,struts2_Path_路径问题
MVC模式的回顾 回顾Struts的请求处理时序图 使用超连接的技巧 ...防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与digester