strtus2 中使用<s:token/>可以防止表单重复提交。
struts.xml:
<action name="OGNLTestAction" class="com.wyx.dmi.OGNLTestAction">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
<result name="invalid.token">message.jsp</result>
<result>/ognlTest.jsp</result>
</action>
message.jsp页面为出现重复提交,跳转到得页面。
jsp页面中:
<a href="OGNLTestAction">t>>>OGNL--TEST</a><br>
<s:form name="myform" method="post" action="OGNLTestAction"namespace="/">
<s:token/>
<s:submit value="提交"></s:submit>
</s:form>
在做测试的时候有时候报错:
Form action defaulting to 'action' attribute's literal value
该错误是<s:form>标签写的有问题
分享到:
相关推荐
Struts2 Token回退刷新是一种防止重复提交的安全机制,尤其在处理并发操作和防止 CSRF(跨站请求伪造)攻击时显得尤为重要。Struts2框架提供了一种令牌验证的方式来确保每个表单提交是唯一的,避免了恶意用户通过...
在Web表单提交中,防止重复提交是一个常见的需求,而Struts2的Token机制就是为了应对这一问题而设计的。Token机制能确保用户只能提交一次表单,避免了由于网络延迟或误操作导致的重复数据录入。 ### 一、Token机制...
Struts2提供了Token插件来解决这个问题,确保每个表单提交只能被执行一次。下面将详细阐述Struts2中Token机制的工作原理、配置以及使用方法。 1. Token机制概述: Token机制是通过在客户端(浏览器)和服务器之间...
这个名为"struts2开发 token.rar"的压缩包文件可能包含了一个关于如何在Struts2框架中实现Token机制的示例项目。Token机制主要用于防止重复提交,是Web开发中的重要安全实践。 首先,我们来看`.classpath`、`....
Struts2提供了一种名为“token”的机制来解决这个问题。 **什么是Token机制?** Token机制是一种防止重复提交的方法,它通过在客户端(通常是浏览器的session或者cookie)和服务器端存储一个唯一的令牌,确保每个...
<interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/> <!-- other interceptors --> <interceptor-ref name="token"/> <!-- other interceptors --> ``` 这样,...
Struts2提供了一种机制,即tokenSession,来解决这个问题。 首先,我们要理解什么是重复提交。在Web环境中,由于网络延迟或用户误操作,可能会导致同一个表单数据被多次提交,这就是重复提交。这种现象可能导致数据...
在Struts的配置文件中定义一个Token拦截器,拦截所有需要防止重复提交的Action,然后在拦截器中实现Token的验证逻辑。 通过这种方式,Struts+Token机制可以有效地防止由于用户误操作或者网络延迟造成的表单重复提交...
为了解决这个问题,Struts提供了一个名为“Token”的机制。 **一、Struts Token机制** Struts的Token机制主要用来防止用户意外或恶意的多次提交表单,例如在刷新页面时重复提交数据。它的工作原理如下: 1. **...
通过TestStruts2Token这个压缩包文件,我们可以看到相关的示例代码和配置,包括Action类、配置文件(如struts.xml)以及可能的测试用例,这些都可以帮助我们更好地理解和应用Struts2的Token机制。 总的来说,Struts...
<interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/> <interceptor-ref name="token"/> <!-- 其他拦截器 --> <result name="input">/error.jsp</result> <!-- 处理...
首先,我们需要在Struts2的配置文件(struts.xml)中添加Token拦截器。这个拦截器会处理Token的生成和验证过程。例如: ```xml <interceptor name="token" class="org.apache.struts2.interceptor....
在Struts框架中,令牌机制(Token)是一种防止重复提交的有效方法,它主要用于处理表单数据的并发控制,防止用户意外或者恶意地多次提交表单,从而确保数据的一致性和安全性。 在Web应用中,用户可能会因为网络延迟...
struts2防止表单重复提交,利用struts的拦截器tokenSession,轻轻松松解决表单重复提交的问题。 附件为源代码,后台延迟了3秒,可直接在web服务器下部署运行,输入用户名和密码后,多点几次提交按钮,然后看控制台...
2. **生成Token** 在Action的开始阶段,例如在`prepare()`方法或`execute()`方法的开始,生成并存储Token。可以使用`ActionContext`获取当前的会话,并将其设置为一个随机值或时间戳。 3. **传递Token** 将生成的...
2. 实现TokenAware接口:为了让ActionForm能够访问session中的令牌,需要让ActionForm实现`org.apache.struts.action.TokenAware`接口,并实现`setToken(String token)`方法。 3. 生成令牌:在Action中,如`execute...
2. **传递Token**: 同时,该Token会被嵌入到表单中作为一个隐藏字段,以便于客户端提交时携带。 3. **验证Token**: 用户提交表单后,服务器会检查请求中的Token值是否与保存在Session中的Token值相匹配。 4. **更新...
Struts2提供了一种基于Token的防止重复提交策略。在表单提交时,服务器会生成一个唯一的Token并将其存储在Session中,同时将Token放入到表单中。当用户提交表单时,服务器会检查提交的Token是否与Session中的Token...
Struts2框架提供了一种解决方案,即使用Token机制来防止表单的重复提交。以下是对这个主题的详细说明: 1. **表单重复提交问题**:当用户在提交表单时,由于网络延迟或用户误操作,可能会导致同一个表单被多次提交...
2. **获取Token列表**: - 方法`getTokenList`用于获取当前会话中的Token列表。如果列表不存在,则创建一个新的列表并将其关联到当前会话。 3. **保存Token值**: - 方法`saveTokenString`用于向会话中的Token列表...