`

struts2中表单重复提交token令牌

阅读更多

  比如在增、删、改完后,刷新页面时会重新提交上次的请求。
 解决办法:
 在页面的<body></body>中添加token令牌:
 1. 在页面中定义token:
   <%@ page import = “java.util.Random”%>

  

 <%   
     Int token = new Random().nextInt();
     Session.setAttribute(“token”,token);
   %>

   <html>
     <head><title></title></head>
    <body>
    定义token
    设置一个隐藏域把token的值传入后台
  <input type=”hidden” name = “token” value=”<%=token%>”>
  </body>
  </html>
    2. 在Action中:
 首先要定义一个token,并提供get 和set 方法
 定义一个int型变量接受session中token的值
  Int temp = 0;

  Try{
         Temp = Integer.parseInt(ActionContext.getContext().getSession().get(“token”).toString());
        }catch(){
                     }
  If( temp == token){
       第一次时,temp与token肯定相等 ,放过执行,然后在remove掉token。
       ActionContext.getContext().getSession().remove(“token”);
  }else{
       重复提交, 此时token的值为空.
       ActionContext.getContext().getSession().remove(“token”);
       Return 返回页面;
  }

分享到:
评论

相关推荐

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

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

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

    3. **表单提交**:用户填写完表单并提交后,Struts2拦截器会自动将表单中的令牌值与session中的令牌进行比较。 4. **验证令牌**:如果两者匹配且令牌未被使用过,那么处理表单请求;若不匹配或令牌已被使用,Struts...

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

    在Struts配置文件中,为需要防止重复提交的Action添加一个拦截器引用,如`token`或`token-session`。这两个拦截器都可以处理Token,但`token-session`更安全,因为它会将Token存储在会话中,而不仅仅是请求中。 2....

    struts2防止表单重复提交--重定向

    总结起来,Struts2通过重定向策略可以有效地防止表单重复提交,结合其他如Token Session Strategy等方法,可以进一步提高应用的安全性和稳定性。开发者可以根据项目需求选择合适的防重提交方案,确保系统正常运行。

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

    在提供的压缩包文件"struts+token机制解决表单重复提交"中,可能包含了具体的Struts配置文件、Action类、Interceptor实现以及示例代码,可以帮助读者更深入地理解并实践这个机制。通过对这些代码的学习和研究,...

    Struts2防止重复提交解决方案

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

    【原创】Struts2防止表单重复提交.doc

    在Struts2中,`&lt;s:token/&gt;`标签用于生成一个全局唯一的标识符(GUID),该标识符被存储在用户的会话(session)中,并且在表单中作为隐藏字段存在。当用户提交表单时,服务器端会检查表单中的GUID与会话中的GUID是否...

    Struts2文件上传下载和表单重复提交问题

    - **令牌(Token)机制**:在用户提交表单前,服务器生成一个唯一的令牌,将其隐藏在表单中。当表单提交时,服务器检查令牌是否已存在于session或请求中,如果存在且与提交的令牌匹配,则处理请求,否则忽略。 - *...

    struts2_token控制刷新重复提交

    在Struts2中,Token插件是内建的,它提供了一种简单的方式来实现重复提交的防护。首先,需要在Struts配置文件(struts.xml)中启用Token拦截器,如下: ```xml &lt;interceptor name="token" class=...

    Struts1.x令牌(Token)的使用.rar

    而Struts1.x的令牌机制(Token)则是防止重复提交、跨页请求攻击的重要手段。在此,我们将深入探讨Struts1.x令牌的使用方法及其背后的原理。 首先,理解为何需要令牌。在Web应用中,用户可能会意外或恶意地多次点击...

    用STRUTS的TOKEN机制解决表单重复提交,转载自:百度文库

    Struts的Token机制是Web应用中防止表单重复提交的一种常用方法。在处理表单提交时,如果用户意外地多次点击了提交按钮,可能会导致数据的重复录入,从而引起不必要的问题,例如订单重复、数据库数据异常等。为了解决...

    struts令牌token实例

    在Struts2中,为了防止恶意的重复提交或者意外的多次点击,引入了一种安全机制——令牌(Token)机制。这个机制主要是用来解决HTTP协议无状态特性带来的问题,比如用户在提交表单时,由于网络延迟或误操作,可能会...

    Struts2 防重复提交Demo

    在Struts2中,要在表单中添加`s:token`标签,只需要在相应的JSP页面中像下面这样写: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; ... &lt;!-- 表单内容 --&gt; &lt;s:token/&gt; 提交"/&gt; ``` 这里的`s:token`...

    struts2token回退刷新

    在Struts2中,可以通过配置Action或者全局Interceptor来启用Token插件。通常,你可以在struts.xml配置文件中添加以下内容: ```xml &lt;interceptor name="token" class=...

    Struts表单重复提交问题

    为了防止这种表单重复提交,Struts提供了一种令牌(Token)机制。令牌机制的工作原理如下: 1. **设置令牌**:在用户访问表单之前,Action类中的`execute`方法会调用`saveToken`方法,将一个唯一的令牌保存在请求...

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

    2. **令牌(Token)机制**:生成一个唯一的令牌,将其隐藏在表单中,当表单提交时,服务器验证该令牌是否有效。如果已处理过,则忽略请求。 3. **Redirect重定向**:处理完表单后,使用HttpServletResponse的`...

    struts 令牌机制(Token)

    在Struts框架中,令牌机制(Token)是一种防止重复提交的有效方法,它主要用于处理表单数据的并发控制,防止用户意外或者恶意地多次提交表单,从而确保数据的一致性和安全性。 在Web应用中,用户可能会因为网络延迟...

    防止表单重复提交

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

    struts2 令牌使用例子

    在Struts2中,实现令牌机制主要有以下几个步骤: 1. **配置Struts2拦截器**:在struts.xml配置文件中,需要添加`token`和`tokenSession`拦截器到默认栈或自定义的拦截器栈中。`token`拦截器负责在表单中插入令牌,...

Global site tag (gtag.js) - Google Analytics