Struts中防止表单重复提交

Struts内部会经过很多interceptor,只需在struts.xml中配置如下代码就可以防止表单重复提交

<action name="login" class="com.lzw.action.UserAction">

<!-- 配置拦截器进行token拦截 -->

<interceptor-ref name="defaultStack"/>

<interceptor-ref name="tokenSession"/>

<result>/success.jsp</result>

<!-- <result name="invalid.token">/invalidtoken.jsp</result> -->

</action>

由于tokenSession不是defaultStack中的配置,所以配置了<interceptor-ref name="tokenSession"/>,struts原有的拦截器就会失效,所以需要

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

原文地址:https://www.cnblogs.com/xiaowenwen/p/11455806.html

时间: 2024-11-08 05:12:54

Struts中防止表单重复提交的相关文章

Struts2中防止表单重复提交

一.防止表单的重复提交 1.在表单中加入<s:token/>标签 2.在动作类中加入token的拦截器<interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="token"></interceptor-ref> 3.增加一个名称为invalid.token的结果视图<result name="

Servlet、SPringMVC、Struts等防止表单重复提交的多种处理方法

第一种处理方法(非拦截器): 目前这种方法不建议,因为JSP规范不建议写JAVA代码.这种可以方便第二种处理方法的理解,第二种方法引入拦截器的思想,原理基本一样,模仿Struts的Token机制. 1.在需要防止重复的jsp中加入下面的java代码, <%@page import="java.util.Random"%> <%@page import="java.util.Set"%> <%@page import="java

如何使用Struts 2防止表单重复提交?

用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此,重复提交表单会对你的系统带来逻辑影响,必须采取一些措施防止这类情况的发生. 用户重复提交同一个HTML表单的原因有:快速多次点击提交按钮:提交表单后按下浏览器的刷新按钮. 设置Struts 2的预防表单重复提交的功能 Struts 2已经内置了能够防止用户重复提交同一个HTML表单的功能.它的工作原理:让

使用Struts 2防止表单重复提交

用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此,重复提交表单会对你的系统带来逻辑影响,必须采取一些措施防止这类情况的发生. 用户重复提交同一个HTML表单的原因有: 一.快速多次点击了提交按钮:二.提交表单后按下浏览器的刷新按钮. 设置Struts 2的预防表单重复提交的功能 Struts 2已经内置了能够防止用户重复提交同一个HTML表单的功能.它的

Struts2中解决表单重复提交

3. 表单的重复提交问题 1). 什么是表单的重复提交 > 在不刷新表单页面的前提下:  >> 多次点击提交按钮 >> 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮". >> 在控制器响应页面的形式为转发情况下,若已经提交成功, 然后点击 "刷新(F5)" > 注意: >> 若刷新表单页面, 再提交表单不算重复提交 >> 若使用的是 redirect 的响应类型,

[原创]java WEB学习笔记73:Struts2 学习之路-- strut2中防止表单重复提交

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Django框架开发中避免表单重复提交

Form表单做为web2.0时代的重要角色,也是我们与web网站进行数据交互的重要渠道,但是大家在web网站开发过程中,都会遇到一个问题,那就是如何避免表单重复提交,我们可不确定用户可在提交了一个表单后,是否有足够的耐心等待我们的程序加载完成,如果此时用户不耐烦的在前台重复刷新页面,那么就会造成数据重复提交.信息不准确,因此我们在程序设计时一定要规避这样的问题,接下来介绍一下在Django框架开发中如何避免此问题. 首先说明一下Http协议中两种非常常见的方法GET和POST. 1.GET方法往

Java中避免表单重复提交

表单的重复提交: 没有完整的进行一次,先请求表单页面->再提交表单过程而完成数据提交 造成的根本原因: 没有完整的进行一次,先请求表单页面->再提交表单过程. 造成重复提交的现象: 由于服务器缓慢或网络延迟的原因,重复点击提交按钮. 已经提交成功,刷新成功页面(forward)(请求转发). 已经提交成功,通过回退,再次点击提交按钮 注意:回退后,刷新表单页面,重新再提交,这时,不是重复提交,而是发送新的请求,在Firefox下,重复提交到同一个地址的操作无效. 案例: 1 @WebServl

【struts2】struts防止表单重复提交

一.概述 表单重复提交已经存在很久了,也有很多讨论.防止表单重复提交主要是防止"服务器处理慢时的页面刷新",以及浏览器后退后再次提交,甚至是点击提交按钮的时候手快点了很多次. 常用的JS将提交按钮设置成disabled,这种防止不了页面刷新,重定向防止不了浏览器后退后重复提交,两者结合也没用. struts2采用的是页面hidden+session来实现防止重复提交,通过拦截器token或或tokenSession来说hi线,其思想很简单,本文主要是讨论实现代码中涉及的细节. 二.原理