`

防止重复提交

 
阅读更多

在jsp页面的form中,添加

<s:token></s:token>

 然后在提交的action类中

 

@SuppressWarnings("unchecked")
@Scope("prototype")
@Controller
@Results( {
		@Result(name = Constants.SHOW_ERROR, location = "/community/errorMessage.jsp"),
		 
		@Result(name = "timeout", location = "/community/timeoutMsg.jsp") })
@ParentPackage("default")
@InterceptorRefs(value = { @InterceptorRef("defaultStack"),
		@InterceptorRef("checkCookieInterceptor") })
// , , @InterceptorRef("checkCookieInterceptor"),
// @InterceptorRef("sessionTimeoutInterceptor")
@ExceptionMappings( {
		@ExceptionMapping(exception = "java.lang.Exception", result = Constants.SHOW_ERROR),
		@ExceptionMapping(exception = "com.community.exception.DataAccessException", result = Constants.SHOW_ERROR) })

 添加发现重复提交后,返回的页面

@Result(name = Constants.INVALIDTOKEN, location = "/community/tokenErrMsg.jsp"),

 

然后在action方法中添加:

@Action(interceptorRefs = {@InterceptorRef("token")},
			value = "quickReply", results = {
			@Result(name = Constants.SUCCESS, type = "redirect", location = "showPostsById.action?fpid=${fpid}&anchor=${anchor}&pageNo=${pageNo}"),
			//@Result(name = Constants.FAILURE, type = "chain", location = "showPostsById") 
			@Result(name = Constants.FAILURE, type = "redirect", location = "showPostsById.action?fpid=${fpid}&anchor=${anchor}&pageNo=${pageNo}&msgid=${msgid}&sid=${sid }")
		})

 

这样就可以了,但是这样就会跳转到一个提示重复提交的页面,不大友好。

 

可以用tokenSesion来解决。

同样在jsp的form中添加

<s:token></s:token>

然后在action方法上加

interceptorRefs = {@InterceptorRef("tokenSession")},

 

 

这样就可以了。

 

分享到:
评论

相关推荐

    spring boot 防止重复提交实现方法详解

    Spring Boot 防止重复提交实现方法详解 Spring Boot 防止重复提交是指在用户提交表单或请求时,防止同一客户端在短时间内对同一 URL 的重复提交,从而避免服务器端的处理压力和数据的一致性问题。下面将详细介绍 ...

    asp.net 页面防止重复提交

    防止重复提交对于确保数据的准确性和应用的稳定性至关重要。本文将深入探讨如何在ASP.NET环境中解决这个问题。 首先,理解问题的本质:当用户点击提交按钮两次或者由于网络延迟,浏览器可能会发送两次请求到服务器...

    element-ui如何防止重复提交的方法步骤

    以下是如何在使用Element-UI时防止重复提交的具体方法: 1. 对话框(Dialog)内的表单提交: 错误方案常常是在最后的回调函数中同时隐藏Dialog和恢复提交按钮的可点击性。问题在于Dialog的隐藏是一个动画过程,这...

    Struts2防止重复提交解决方案

    在Struts2中,防止重复提交是一个重要的问题,因为它可能导致数据不一致性和服务器资源的浪费。本文将详细介绍如何在Struts2中解决这个问题,以及相关的技术概念。 首先,我们要理解Struts2中的拦截器(Interceptor...

    自定义标签 防止重复提交

    本文将深入探讨自定义标签在防止重复提交中的实现原理和应用。 首先,我们要理解什么是自定义标签(Custom Tags)。在JavaServer Pages(JSP)中,自定义标签是扩展JSP功能的一种方式,它可以封装复杂的业务逻辑...

    自定义拦截器实现防止重复提交

    然而,有时候框架自带的功能可能并不能完全满足特定的需求,例如在防止重复提交这一问题上。防止重复提交是为了避免用户因为网络延迟或误操作导致的同一请求多次发送,从而对数据库造成不必要的影响。在本案例中,...

    提交表单后提交禁用提交按钮,防止重复提交

    提交表单后提交禁用提交按钮,防止重复提交.

    token-springMVC 防止重复提交

    在Spring MVC框架中,防止重复提交是一个重要的议题,特别是在处理敏感数据或执行不可逆操作时。重复提交可能会导致数据不一致性和系统混乱。"Token-SpringMVC"是一种常见的解决方案,它利用令牌(Token)机制来确保...

    拦截器防止重复提交的设置步骤

    拦截器防止重复提交的设置步骤 在 Struts2 框架中,防止重复提交是一个非常重要的安全性问题。重复提交可能会导致数据的不一致和系统的不稳定。为了解决这个问题,Struts2 提供了拦截器机制来防止重复提交。在本文...

    Spring 防止重复提交

    在Spring框架中,防止重复提交是一项重要的功能,它有助于确保数据的一致性和完整性。重复提交可能会导致数据库中的数据不一致,特别是在并发环境下。本篇将详细介绍如何在Spring中实现这一功能,主要分为四个步骤:...

    防止重复提交.txt

    #### 核心知识点:防止重复提交机制 在Web应用开发中,防止用户重复提交表单是一项重要的功能,尤其在涉及到交易、支付等敏感操作时更为关键。重复提交不仅可能导致数据错误,还可能增加服务器负担,甚至引发安全...

    truts2防止重复提交共2页.pdf.zip

    在IT行业中,尤其是在Web开发领域,防止重复提交是一项至关重要的任务。Truts2作为一款流行的Java Web框架,提供了多种机制来防止用户意外或恶意地多次提交表单数据,从而保护系统的稳定性和数据的一致性。这里我们...

    【原创】jSubmitLoading防止重复提交 v1.0

    作用是禁用提交按钮,防止表单重复提交 1、禁用/启用按钮 $("#btnSub").subLoading({enabled:false}) $("#btnSub").subLoading({enabled:true}) 2、禁用后定时启用 $("#btnSub").subLoading({enabled:false,timeout:...

    通过xml配置搞定Struts重复提交问题

    在Struts的配置文件(例如`struts.xml`)中,为需要防止重复提交的Action添加一个拦截器栈,包括`token`和`tokenSession`拦截器。 ```xml &lt;!-- 配置错误结果页面 --&gt; &lt;param name="includeParams"&gt;none ...

    登录防止重复提交1

    登录防止重复提交是网络安全中一个重要的实践,主要目的是保护用户数据的安全性和系统资源的有效利用。在Web应用中,用户登录时可能会因为网络延迟或其他原因导致多次点击提交按钮,从而产生重复登录请求,这可能...

    防止表单重复提交(asp.net )

    - 使用HTTP-only cookies:存储一个提交标志,当表单提交后设置此标志,后续请求检查该标志以防止重复提交。 - **结合服务器端和客户端验证**:为了增加安全性,通常建议同时在服务器端和客户端进行验证。客户端...

    java+redis+lua实现重复提交操作拦截.zip

    在IT行业中,尤其是在分布式系统和高并发场景下,防止重复提交是确保数据一致性的重要策略。本项目"java+redis+lua实现重复提交操作拦截"旨在解决这个问题,通过结合Java、Redis和Lua技术来构建一个高效的解决方案。...

    Struts2防止重复提交的解决方案

    ### Struts2防止重复提交的解决方案 #### 一、引言 在Web应用程序开发中,一个常见的问题是如何有效地防止表单的重复提交。这不仅能够提高用户体验,还能增强系统的安全性。Struts2作为一款广泛使用的Java Web应用...

Global site tag (gtag.js) - Google Analytics