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

struts2 action方法上加 @Token

 
阅读更多
  使用token标签的时候,Struts2会建立一个GUID(全局唯一的字符串)放在session中,并且会成为一个hidden放在form中。
token拦截器会判断客户端form提交的token和session中保存的session是否equals。如果equals则执行Action。否则拦截器直接返回invaid.token结果,Action对应的方法也不会执行
<form action="${basePath}member!regist.action" method="post" id="registFrom">
<@s.token></@s.token>


action.xml(struts.xml)配置
action name="member" class="com.ff.action.MemberAction">
			<result name="invalid.token" type="redirect">member!login.action</result>


<s:token>标签使用很简单,用以避免表单的重复提交,其原理是用户访问页面时,服务器产生一个令牌值一起发送给客户端。当这个页面被提交时,比较客户端和已经保存先前的令牌值,如果相等则清除令牌值,不相等表明表单已被提交,同时产生一个新令牌值,保存到session中。

step 1:在<form>标签里面定义标签<s:token/>

step 2:在struts.xml文件内配置token拦截器

            <interceptor-ref name="token">

              <param name="excludeMethods">....</param> //这里可以配置token拦截器的排队方法

</interceptor-ref>

<result name=“invaild.token">/***.jsp</result>

step 3:可在页面中添加<s:actionerror>显示重复提交信息

step 4:测试。提交页面后,单击刷新,就自动转到***.jsp


oken 是在上一个action的执行方法后 会产生一个新的token放在session中 key 为“struts.token”  <s:token></s:token> 现实再页面的时候会生成俩个隐藏标签 一个叫struts.token.name  一个叫做是你struts.token.name  值作为name的隐藏标签,

提交到后台进行token 比对 不一样返回invaild.token
分享到:
评论

相关推荐

    struts2的token实现.

    2. **验证Token**:在Action的execute方法或其他处理表单的方法中,Struts2会自动进行Token验证。如果Token无效,Action的execute方法不会被执行,而是返回一个默认的错误结果,比如`input`。 3. **处理Token异常**...

    struts2token回退刷新

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

    struts2中token限制表单多次提交

    下面将详细阐述Struts2中Token机制的工作原理、配置以及使用方法。 1. Token机制概述: Token机制是通过在客户端(浏览器)和服务器之间传递一个唯一的标识符(Token)来防止表单的重复提交。当用户首次提交表单时...

    JavaEE Struts2利用tokenSession防止重复提交

    Struts2提供了一种机制,即tokenSession,来解决这个问题。 首先,我们要理解什么是重复提交。在Web环境中,由于网络延迟或用户误操作,可能会导致同一个表单数据被多次提交,这就是重复提交。这种现象可能导致数据...

    struts2_token控制刷新重复提交

    3. **验证Token:** 在处理表单提交的Action方法中,Struts2的Token拦截器会自动进行Token验证。如果验证失败(比如因为用户刷新页面),拦截器会抛出一个`TokenException`,你可以捕获这个异常并处理。 ```java ...

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

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

    Struts2 in action中文版

    8.1.1 页面上:如何使用自定义结果组件构建Struts 2 Ajax应用程序 171 8.1.2 实现JSON结果类型 173 8.2 常用的结果类型 180 8.2.1 RequestDispatcher,也叫做dispatcher 180 8.2.2 ServletRedirectResult,也叫做...

    struts 令牌机制(Token)

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

    struts令牌token实例

    &lt;interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/&gt; &lt;!-- other interceptors --&gt; &lt;interceptor-ref name="token"/&gt; &lt;!-- other interceptors --&gt; ``` 这样,...

    Struts2 demo2

    - **对指定action方法校验**: 在Struts2中,可以通过XML配置文件定义特定Action类或方法的数据校验规则,以确保用户输入的有效性。 - **对action的所有方法进行校验**: 这种配置允许全局应用校验规则,适用于...

    struts2开发 token.rar

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

    struts token dozer实例

    在这个实例中,开发者可能已经配置了Struts的拦截器来处理Token,同时在Action执行前后使用Dozer进行对象的映射。具体实现可能涉及到以下步骤: 1. 在Struts配置文件(如struts.xml)中添加Token拦截器,并设置拦截...

    解决在struts 中可以通过token 来重复提交的问题

    ### 解决Struts中通过Token防止重复提交的问题 在Web应用程序开发中,特别是基于MVC架构的框架如Apache Struts中,确保用户操作的安全性是非常重要的。其中一项常见且重要的安全措施是防止表单的重复提交。本文将...

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

    在Action类中,可以调用`Token.isTokenStringValid`方法来验证Token的有效性。如果Token有效,则继续处理表单提交;否则,可以根据具体情况返回错误信息或重定向到指定页面。 ```java if(Token.isTokenStringValid...

    struts2 拦截器(AOP,面向切面编程)

    **Struts2 拦截器**是在Action执行前后插入的代码片段,它们按照定义的顺序组成一个拦截器链。每个拦截器都有机会处理请求,决定是否允许Action执行,以及如何处理Action的返回结果。拦截器可以用于数据校验、登录...

    利用struts的token控制重复提交

    2. **创建Action**: 在Action类中,可以重写`supports()`方法来决定哪些方法需要Token验证,或者直接在方法上使用`@TokenCheck`注解。 ```java public class MyAction extends ActionSupport { @Override public ...

    15年9月传智播客视频struts2

    根据提供的文件信息,我们可以...通过对Struts2的工作原理、核心组件、配置方法等方面的学习,可以有效提升开发者在Java Web领域的技能水平。希望上述内容能够帮助您更好地理解Struts2框架,并在实际项目中得到应用。

    Struts2源码分析

    在视图层,Struts2提供了一系列增强的组件,位于`org.apache.struts2.components`包中,包括updownselect、doubleselect、datetimepicker、token、tree等,这些组件增强了用户体验,并且支持主题(theme)以自定义...

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

    2. **生成Token**:在Action的准备方法(Prepare Method)或者Action的初始化方法中,生成一个唯一的Token并存入Session。 3. **插入表单**:在JSP页面中,使用Struts的`&lt;s:token/&gt;`标签将Token插入到表单的隐藏...

    Struts 之旅 - 重复提交 token

    6. **实践操作**:在 Struts 的 Action 类中,可以定义一个方法处理 token,例如 `checkToken()`。同时,需要在 struts.xml 配置文件中,配置拦截器链,包含 token 相关的拦截器,如 `token` 或 `tokenSession`。 7...

Global site tag (gtag.js) - Google Analytics