`
flashdream8
  • 浏览: 678851 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决刷新重复提交的问题

阅读更多

struts令牌解决重复刷新提交

insert步骤。
原来的步骤insert.jsp(form)点提交---->insertAction(做插入的)--->insert.jsp跳回原来页面
但是再次使用刷新会再次提交。
解决方法:
tokenAction--->insert.jsp(form)---->insertAction--->insert.jsp
也就是在提交前先进入一个action,此action生成一个token
tokenAction中execute代码如下:

public class SLAAddGuidAction extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm actionForm,
			HttpServletRequest request, HttpServletResponse response) {
	try {
			//生成一个TOKEN 解决 刷新提交的问题
			saveToken(request); 
			return mapping.findForward("success");
		} catch (Exception ex) {
			ex.printStackTrace();
			return (mapping.findForward("errorpage"));
		}
	}
}

 

 

在insertAction中的execute写如下代码:

 

public ActionForward execute(ActionMapping mapping, ActionForm actionForm,
			HttpServletRequest request, HttpServletResponse response) {

//**** 解决刷新提交 ****
		ActionMessages errors=new ActionMessages();
		if(!isTokenValid(request)){  
			errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.invalid.token"));
			saveToken(request);
			return mapping.findForward("success");
		}else{
			resetToken(request);
			saveToken(request);
		}
		//**** 解决刷新提交  end****

//*****insert start******

自己的具体插入代码

//******insert end*******

}

 

注意:insert.jsp中的form必须为html:form,另外html:form 没有id属性,取代的是styleId

 

 

分享到:
评论

相关推荐

    Asp.net刷新重复提交

    在ASP.NET web应用程序中,"刷新重复提交"是一个常见的问题,它发生在用户点击浏览器的刷新按钮或者使用前进/后退导航时。这可能导致数据的不一致性和错误,因为服务器可能会收到相同请求的多次处理,而这些请求原本...

    Asp.net 后退刷新重复提交问题解决办法

    页面提交后,后退,刷新会重复提交,导致很多麻烦,.net里可以这样来解决一下,一个类文件,省去每个页面都写的麻烦

    ASP.NET中防止刷新页面造成表单重复提交

    针对表单重复提交问题,网上可以找到多种解决方案。其中比较常见的有两种: 1. **使表单按钮失效**:即在用户点击提交按钮后使其失效,以确保表单只能被提交一次。这种方法虽然简单有效,但用户体验较差,尤其是在...

    struts2令牌解决页面重复提交问题

    下面将详细讲解Struts2令牌解决重复提交问题的过程: 1. **生成令牌**:在Action中,使用`TokenAwareActionSupport`作为基类,这个类实现了`TokenSessionStore`接口,可以方便地获取和验证令牌。在表单展示之前,...

    防止刷新后退重复提交

    在Web开发中,用户在提交表单后可能会意外地点击浏览器的刷新或后退按钮,导致数据重复提交,这在数据库操作中可能引起严重问题,比如财务交易的重复扣款或者用户信息的重复录入。针对这个问题,我们可以采取多种...

    防止用户刷新,重复提交数据

    在Web开发中,防止用户刷新页面...综上所述,本资源提供的代码和说明可以帮助开发者理解并实施防止用户刷新重复提交数据的机制,通过使用Token,可以有效地保护Web应用免受重复操作的困扰,提高系统的稳定性和安全性。

    防卡页面刷新重复提交

    防卡页面刷新重复提交源代码,根据msdn上提供方法进行改造,解决了诸多bug,实用性很强

    防止页面的重复提交和刷新

    本文旨在深入探讨如何有效地预防页面的重复提交与刷新现象,通过具体实例和详细的分析来帮助开发者更好地理解和解决这类问题。 #### 二、问题背景及应用场景 ##### 1. 重复提交与刷新场景 重复提交通常发生在用户...

    Struts2解决表单重复提交

    除了直接使用redirect,还可以使用redirectAction,并在result中配置actionName参数,这样提交后会通过另一个action来执行,从而避免了直接刷新带来的重复提交问题。 在具体实现上,通过修改result元素的type属性来...

    JSP_重复提交_解决方法

    ### JSP重复提交问题及其解决方法 #### 一、引言 在Web应用程序开发中,尤其是在使用Java Server Pages (JSP)技术时,一个常见的问题是重复提交数据。当用户不小心刷新了页面或按下了浏览器的“后退”按钮时,可能...

    8 种方案解决重复提交问题

    解决重复提交问题的8种方案 在本篇文章中,我们将讨论重复提交问题的八种解决方案。重复提交问题是指在Web应用程序中,当用户提交表单时,可能会导致重复提交,导致数据不一致和其他问题。为了解决这个问题,我们...

    重复提交解决实例

    2.已经提交成功,然后又刷新页面重复提交 3.已经提交成功,然后点击后退,然后又重复提交。 重复提交的缺点: 1.加重了服务器的负担。 2.导致错误的操作。 实例:如果在淘宝上买一个东西,然后点击了订单提交,然后...

    J2EE框架-重复提交、重复刷新、防止后退的问题以及处理方式

    在J2EE框架中,开发过程中常常会遇到一些与用户交互相关的技术问题,如重复提交、重复刷新以及防止用户后退导致的数据不一致。这些问题在实际应用中可能会对系统的稳定性和数据完整性造成影响,因此需要采取相应的...

    asp.net 页面防止重复提交

    然而,这种方法并不能完全防止所有情况下的重复提交,因为某些用户可能使用浏览器的刷新功能或者在网络延迟后多次点击。 ASP.NET MVC框架提供了一些内置机制来处理此问题。例如,可以使用`AntiForgeryToken`辅助...

    struts token机制解决表单重复提交

    总的来说,Struts Token机制通过维护一个临时的、一次性使用的Token,有效地解决了Web应用中的表单重复提交问题,提高了系统的稳定性和安全性。在实际开发中,应根据项目需求灵活运用并优化此机制。

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

    在本文中,我们将深入探讨如何通过XML配置来解决Struts中的重复提交问题。 首先,理解重复提交的原因。在Web应用中,用户点击提交按钮后,如果网络延迟或刷新页面,同一个请求可能被发送多次。Struts框架默认情况下...

    防止Layui form表单重复提交的实现方法

    在使用Layui设计表单时,经常会遇到表单提交后页面刷新导致的重复提交问题。为了解决这个问题,开发者需要确保表单只提交一次,防止不必要的数据重复处理或者服务器的重复计算。下面详细解释几种防止Layui表单重复...

    表单重复提交问题1

    标题"表单重复提交问题1"所涉及的核心知识点是防止Web表单的多次提交。在描述中提到的情况,用户完成表单提交后,如果按下F5刷新页面,浏览器会重新发送之前表单的POST请求,导致数据可能被再次处理。这通常发生在...

    Asp.Net防止刷新重复提交数据的办法

    这两种方法都是为了解决表单提交后用户刷新页面导致的数据重复提交问题。第一种方法操作简单,适用于不希望或不能使用缓存的场景;第二种方法稍显复杂,但保留了缓存带来的优势,特别适用于需要考虑页面加载性能的...

Global site tag (gtag.js) - Google Analytics