`
starbhhc
  • 浏览: 657862 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

struts令牌解决重复刷新提交的问题

    博客分类:
  • java
阅读更多
insert步骤。
  原来的步骤insert.jsp(form)点提交---->insertAction(做插入的)--->insert.jsp跳回原来页面

  但是再次使用刷新会再次提交。

  解决方法:

  tokenAction--->insert.jsp(form)---->insertAction--->insert.jsp

  也就是在 提交前先进入一个action,此action生成一个token

  tokenAction中execute代码如下:

  public ActionForward execute(ActionMapping mapping, ActionForm form,

  HttpServletRequest request, HttpServletResponse response) {

  saveToken(request);//生成一个TOKEN return mapping.findForward("insert"); }

  在insertAction中的execute写如下代码:

  protected ActionForward execute(ActionMapping mapping, ActionForm form,

  HttpServletRequest request, HttpServletResponse response)

  throws Exception {

  ActionMessages errors=new ActionMessages();

  if(!isTokenValid(request)){

  errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.invalid.token"));

  saveToken(request);

  return mapping.findForward("insert");

  }

  else{

  resetToken(request);

  saveToken(request);

  }

  /**insert**/

  插入的方法

  /**end**/

  return mapping.findForward("insert");

  }

  

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

相关推荐

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

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

    Struts2防止重复提交解决方案

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

    Struts解决重复提交步骤

    通过以上步骤,我们可以有效地利用Struts框架内置的令牌机制来解决表单重复提交的问题。这种方法简单易行,同时也能提高应用的安全性和用户体验。在实际项目中,可以根据具体需求灵活调整令牌的有效期、验证逻辑等,...

    解决Struts重复提交

    这样可以避免因刷新页面或重复提交导致的问题。 2. 操作状态管理(OWSM,Operation Status Management): Struts2的OWSM插件提供了一种管理用户操作状态的方法,它可以跟踪用户的请求状态,对重复请求进行拦截。...

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

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

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

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

    Struts高级部分(1)(解决重复提交、上传组件)

    本节主要关注Struts在处理两个关键问题上的高级应用:防止重复提交和文件上传组件的使用。 **一、解决重复提交** 在Web应用程序中,重复提交是一个常见的问题,可能导致数据不一致或服务过载。Struts通过几种策略...

    struts2_token控制刷新重复提交

    Struts2提供了一种名为“token”的机制来解决这个问题。 **什么是Token机制?** Token机制是一种防止重复提交的方法,它通过在客户端(通常是浏览器的session或者cookie)和服务器端存储一个唯一的令牌,确保每个...

    Struts之Token解决表单那重复提交

    综上所述,Struts框架通过Token机制有效地解决了表单重复提交的问题,提供了更健壮的Web应用安全性。正确理解和应用这一机制对于Java Web开发者来说至关重要。在实际项目中,结合其他防御策略,如CSRF防护,可以...

    Servlet、Struts、SpringMVC对于表单重复提交的解决方案

    总结来说,Servlet、Struts和SpringMVC都提供了各自的解决方案来防止表单重复提交,主要方法包括使用Session、令牌机制、重定向和拦截器等。开发者可以根据项目需求选择合适的方式来实现,确保应用的稳定性和数据...

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

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

    JSP_重复提交_解决方法

    ##### 方法6:Ajax无刷新提交 使用Ajax进行异步提交可以避免整个页面的刷新,从而降低重复提交的风险。这种方式适用于需要实时反馈的场景。 ##### 方法7:Struts框架中的重定向 在Struts框架中,可以通过配置文件...

    struts2token回退刷新

    4. **令牌回退**:当表单提交成功后,为了防止用户意外刷新页面导致重复提交,Struts2会清除服务器会话中的令牌。这种行为称为令牌回退,可以避免用户在不知情的情况下多次执行相同操作。 **二、防止重复提交** ...

    struts标准库实现令牌

    3. 要确保在处理完一次请求后清除令牌,避免令牌重复使用。 4. 防止令牌泄露,不要在URL、日志或响应中暴露令牌值。 总的来说,Struts的标准库提供了简单易用的令牌功能,有效地提高了Web应用的安全性。通过理解其...

    sturts1 解决主键刷新冲突

    总结来说,Struts1通过令牌验证机制有效地解决了主键刷新冲突问题。它通过生成并验证令牌确保了每个请求的唯一性,从而防止了由于用户刷新页面导致的重复数据插入。这个机制对于任何处理敏感数据或执行不可逆操作的...

    利用Struts2的令牌机制。

    3. **用户体验**:令牌机制可能会导致用户刷新页面时出现错误,因此需要处理好这种情况,如通过重定向避免重复提交。 总的来说,Struts2的令牌机制是防止CSRF攻击和控制重复提交的重要手段,理解并正确使用它对于...

    防重复提交代码

    通过上述方法,可以有效地防止因刷新等原因引起的重复提交问题,从而保障了数据的一致性和系统的稳定性。需要注意的是,虽然这种方法可以在一定程度上防止重复提交,但在实际应用中还需要结合其他手段,如前端...

    防止表单重复提交

    本篇文章将深入探讨如何防止表单重复提交,主要关注于基于Struts2框架的解决方案。 首先,理解表单重复提交的原因。用户在点击提交按钮后,如果网络延迟或用户误操作导致页面刷新或再次点击提交,就可能发生重复...

Global site tag (gtag.js) - Google Analytics