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

struts2 token实现方式

阅读更多

1

    struts2 的token标签 会在页面产生

 

< input type ="hidden" name ="struts.token.name" value ="struts.token" />
< input type ="hidden" name ="struts.token" value ="KUGRKLACCF1SZEKY1Z8O3KR2RLCRP3KK" />
这两个隐藏域,来确定这个页面唯一,如果刷新或者下次进入这个页面会产生一个新的 struts.token 的值,这样的话,就会防止 用户提交,或者多次提交,或者后退后再次提交 ,产生多条重复数据
2 这个里的token 的产生
new  BigInteger(165, RANDOM).toString(36).toUpperCase();
 
public static final String DEFAULT_TOKEN_NAME = "struts.token";
 
  public static final String TOKEN_NAME_FIELD = "struts.token.name";

  public static String setToken(String tokenName) {
        Map session = ActionContext.getContext().getSession();
        String token = generateGUID();
        try {
            session.put(tokenName, token);
        }
        catch(IllegalStateException e) {
            // WW-1182 explain to user what the problem is
            String msg = "Error creating HttpSession due response is commited to client. You can use the CreateSessionInterceptor or create the HttpSession from your action before the result is rendered to the client: " + e.getMessage();
            LOG.error(msg, e);
            throw new IllegalArgumentException(msg);
        }
        return token;
    }
 
这样就只能这里的tokenName竟然是一个变量量 ,这样的话,就解决了不同页面的key不一样,
对一个页面进行表单重复提交 进行验证,如果出现两个页面 同时添加的时候,就不能都是 默认,不然会使另外一个页面失去有效
 
 
分享到:
评论

相关推荐

    struts2的token实现.

    Struts2是一个非常流行的...综上所述,Struts2的Token实现是防止重复提交的有效方式,它通过在客户端和服务端之间交换和验证Token值来确保请求的唯一性。理解和正确使用Token机制对于开发健壮的Web应用程序至关重要。

    struts2_token控制刷新重复提交

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

    struts令牌token实例

    **如何在Struts2中实现Token机制?** 在Struts2中,实现令牌机制主要分为以下几个步骤: 1. **配置Struts2的Token拦截器:** 在struts.xml配置文件中,需要将`token`拦截器加入到默认或者特定的Action配置中。例如...

    JavaEE Struts2利用tokenSession防止重复提交

    在JavaEE应用开发中,Struts2框架是一个广泛使用的MVC框架,它提供了一种有效的方式来组织和控制应用程序的行为。然而,随着Web应用的发展,防止重复提交成为一个重要的问题,尤其是在处理金融交易、投票等关键操作...

    用struts使用Token机制来实现防重复提交

    首先,我们需要在Struts2的配置文件(struts.xml)中添加Token拦截器。这个拦截器会处理Token的生成和验证过程。例如: ```xml &lt;interceptor name="token" class="org.apache.struts2.interceptor....

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

    通过这种方式,Struts+Token机制可以有效地防止由于用户误操作或者网络延迟造成的表单重复提交,保证了服务器端数据的一致性和完整性。对于大型的、对数据一致性有严格要求的Web应用来说,这是一个非常重要的安全...

    利用struts的token控制重复提交

    为了解决这个问题,Struts提供了一个名为“Token”的机制。 **一、Struts Token机制** Struts的Token机制主要用来防止用户意外或恶意的多次提交表单,例如在刷新页面时重复提交数据。它的工作原理如下: 1. **...

    struts 令牌机制(Token)

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

    struts2开发 token.rar

    这个名为"struts2开发 token.rar"的压缩包文件可能包含了一个关于如何在Struts2框架中实现Token机制的示例项目。Token机制主要用于防止重复提交,是Web开发中的重要安全实践。 首先,我们来看`.classpath`、`....

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

    2. 实现TokenAware接口:为了让ActionForm能够访问session中的令牌,需要让ActionForm实现`org.apache.struts.action.TokenAware`接口,并实现`setToken(String token)`方法。 3. 生成令牌:在Action中,如`execute...

    struts token 防止页面刷新,重复提交

    在Struts框架中,Token机制主要通过`&lt;s:token&gt;`标签和`TokenInterceptor`拦截器实现。但在某些情况下,可能需要自己手动实现Token机制。下面基于提供的代码片段详细介绍如何实现Struts中的Token机制。 #### 三、...

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

    三、Struts中实现Token机制的步骤 1. **配置Action** 在Struts配置文件中,为需要防止重复提交的Action添加一个拦截器引用,如`token`或`token-session`。这两个拦截器都可以处理Token,但`token-session`更安全,...

    struts token dozer实例

    2. Token通过隐藏字段或其他方式添加到表单中。 3. 当用户提交表单时,Token一同被发送回服务器。 4. 服务器检查接收到的Token是否与Session中的Token匹配,如果匹配,则处理请求,否则拒绝。 Dozer则是一个强大的...

    Jquery struts2 json 实现ajax

    标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...

    用Struts的Token机制解决表单重复提交.doc

    2. **传递Token**: 同时,该Token会被嵌入到表单中作为一个隐藏字段,以便于客户端提交时携带。 3. **验证Token**: 用户提交表单后,服务器会检查请求中的Token值是否与保存在Session中的Token值相匹配。 4. **更新...

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

    下面将详细介绍Struts Token的工作原理、实现方式及其重要性。 一、工作原理 Struts Token机制的核心思想是在客户端(浏览器)和服务器端(应用服务器)之间维持一个唯一的令牌(Token)。当用户首次提交表单时,...

    Struts1.x实现防止提交的Token使用示例

    2. **Struts1.x的Token插件**: Struts1.x提供了一个内置的Token插件,用于支持Token机制。该插件会在ActionForm中生成一个唯一的Token,然后将其作为隐藏字段添加到表单中。当用户提交表单时,框架会检查这个Token...

    SH(struts2+Hibernate 3)简单实现注册模块

    在IT行业中,SSH(Struts2...通过这些文件,开发者可以理解整个注册流程的实现细节,包括如何配置Struts2和Hibernate,以及如何使用Token机制防止重复提交。学习和掌握这些知识点对于提升Java Web开发技能非常有帮助。

    struts token的例包

    下面将详细解释Struts Token的工作原理、应用场景以及如何在实际项目中实现。 Token机制的核心思想是在用户发起敏感操作时,服务器生成一个随机的、一次性使用的Token,并将其存储在服务器端和客户端(通常为...

    struts2 防止表单重复提交的例子

    通过以上方式,Struts2的Token机制有效地防止了表单的重复提交,保证了服务端的处理逻辑正确性和数据的一致性。在实际开发中,结合合理的前端提示,还可以提高用户体验,避免用户因误操作而产生的困扰。

Global site tag (gtag.js) - Google Analytics