struts 防止重复提交
流程: a页面 ->> A action ->> b页面 ->> B action ->> b页面
会发生重复提交的是在 b页面
代码
A action: saveToken(request);
b 页面: <input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="<%=session.getAttribute
("org.apache.struts.action.TOKEN")%>"/>
B action:
if(isTokenValid(request, true)){ //不是重复提交
//do something
//return mapping
}
else {//重复提交
saveToken(request);
//do something
//return mapping
}
当form用的是<html:form>提交的时候,只有在前一个action saveToken,当前action做判断就行了
但是<html:form>的自由度没<form>大
所以用<form>时,要加上
<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="<%=session.getAttribute
("org.apache.struts.action.TOKEN")%>"/>
这句话在用<html:form>时,是struts自动帮我们加上的
分享到:
相关推荐
以下是对Struts1.x中使用Token防止提交的详细说明: 1. **理解Token机制**: Token机制的核心思想是在客户端和服务器之间建立一种绑定关系,每个提交请求都必须携带一个服务器生成并已存储的唯一令牌。如果令牌...
而Struts1.x的令牌机制(Token)则是防止重复提交、跨页请求攻击的重要手段。在此,我们将深入探讨Struts1.x令牌的使用方法及其背后的原理。 首先,理解为何需要令牌。在Web应用中,用户可能会意外或恶意地多次点击...
- 使用Token机制防止重复提交。 - 在`struts.xml`中配置Token拦截器。 - 在Action类中处理Token验证逻辑。 #### 八、杂项 **8.1 常见问题解答** - **问题汇总**:针对Struts2开发过程中常见的问题进行总结和解答...
用于防止重复提交。`saveToken(request)`在请求处理前保存令牌,`isTokenValid(request)`检查令牌是否有效。若有效则继续处理,否则提示用户重复提交。 #### 7. RequestUtil 和 TagUtils - `RequestUtil`提供对请求...
- **token防止表单重复提交**:使用`<s:token>`标签可以生成一个隐藏字段,防止用户多次提交同一个表单。 通过以上内容的学习,可以全面了解Struts2.1框架的核心特性和使用方法,这对于开发者来说是非常宝贵的资源...
`Struts1.x令牌(Token)的使用.rar`则涉及Struts 1.x框架中的令牌机制,这是一种防止重复提交和跨站请求伪造(CSRF)的安全措施。在表单提交过程中,Struts会生成一个唯一的令牌并存储在session中,同时将其作为隐藏...
Java EE应用技术主要涵盖Web应用开发的多个方面,如框架、持久层、依赖注入和面向切面编程等。以下是对这些知识点的详细说明: 1. **Struts框架启动方式**: ...防止表单重复提交通常使用`token`标签。
`<s:token>` 生成和检查令牌,防止重复提交。 Y. `<s:url>` 创建URL,可以附加参数,例如:`<s:url action="myAction"><s:param name="param1" value="value1" /></s:url>`。 Z. `<s:validate>` 验证表单字段。 ...
- **防止重复提交**:Struts 1.x中使用Token机制,保存一个唯一的Token,如果提交时Token未改变,则认为是重复提交。Struts 2使用内置的Token拦截器实现类似功能。 - **请求验证失败后变量丢失**:可以将ActionForm...
虽然 Struts 2 不再推荐使用 Struts 1.x 的标签,但在某些情况下仍然可能见到 `<s:bean>` 标签。此标签用于访问 JavaBean 的属性值。例如:`<s:bean name="user" property="firstName"/>`,这里的 `name` 指定了 ...
- **用途**:相当于 Struts1.x 中的 `<bean>` 标签,用于创建 JavaBean 实例。 - **示例**: ```xml <s:bean name="myBean" id="beanInstance" class="com.example.MyBean"/> ``` ##### 8. `<s:checkbox>` 标签 ...
- **token防止表单重复提交拦截器**:防止用户重复提交表单。 - **自定义拦截器**:可以通过实现Interceptor接口来创建自定义拦截器。 #### 六、Hibernate基础 ##### 1. 持久化、持久层 - **持久化**:将内存中的...
防止表单重复提交:为了防止表单被重复提交,可以使用token令牌或者点击后禁用提交按钮。 JSP标签:JSP标签用于在JSP文件中嵌入Java代码。 过滤器器:过滤器是用于对Web应用中的请求和响应进行预处理和后处理的...