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

Struts2中多次提交问题

阅读更多

struts.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
  <include file="struts-default.xml"> </include>
      <package name="StrutsTokenDemo" extends="struts-default">
         <action name="Token" class="com.zdvictory.TokenDemoAction">
        <interceptor-ref name="defaultStack"> </interceptor-ref>
        <interceptor-ref name="token"> </interceptor-ref>
 
          <result name="invalid.token">/error.jsp </result>
           <result>/token.jsp </result>
         </action>
        <action name="*">
            <result>{1}.jsp </result>
        </action>
       </package>
    </struts>

Action类如下:
package com.zdvictory;

import com.opensymphony.xwork2.ActionSupport;

public class TokenDemoAction extends ActionSupport{

private static final long serialVersionUID = 2701409256138332208L;

private String message;

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public String execute(){
System.out.println("Executing action, your message is " + message);
        return SUCCESS;

}
}

token.jsp如下:

<body>
  <s:actionerror/>
    <s:form action="Token">
    <s:textfield name="message" label="message"> </s:textfield>
    <s:token/>
    <s:submit/>
    </s:form>
  </body>
error.jsp如下
<body>
  <h1>不要进行重复操作 </h1>
</body>

分享到:
评论

相关推荐

    struts2中token限制表单多次提交

    通过以上步骤,我们可以利用Struts2的Token机制有效地限制表单的多次提交,提高Web应用的安全性和稳定性。在实际项目中,还可以根据具体需求进行调整,比如设置Token的有效时间、自定义Token生成策略等。

    Struts2解决表单重复提交

    对于第一种原因,即多次点击提交按钮导致的重复提交,Struts2框架提供了token机制来解决这个问题。具体的做法是在表单中添加一个唯一的token标识,并将这个标识存储在用户的session中。在用户提交表单时,将表单中的...

    Struts2防止重复提交解决方案

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

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

    1. **表单重复提交问题**:当用户在提交表单时,由于网络延迟或用户误操作,可能会导致同一个表单被多次提交。例如,在购物网站上,用户可能因点击按钮太快而无意中购买了多份商品。 2. **Struts2框架**:Struts2是...

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

    文件上传功能在Struts2中通过`Struts2`提供的插件来实现,主要依赖于`Apache Commons FileUpload`库。首先,要在`struts.xml`配置文件中启用文件上传支持,设置`struts.multipart.parser`为`jakarta`或`native2...

    struts中多行提交问题

    在Struts框架中处理多行数据提交的问题是一个常见的开发场景,尤其当涉及到表格形式的数据录入时。本文将深入探讨如何在Struts框架下实现多行数据的动态添加与提交,结合给定的代码示例进行详细解析。 ### Struts...

    struts2批量提交数据

    3. **配置Struts2**:在Struts2的配置文件(struts.xml)中,我们需要为批量提交的Action定义一个映射。 ```xml &lt;result name="success"&gt;/success.jsp &lt;result name="input"&gt;/input.jsp ``` 4. **处理请求**:...

    Struts2自定义拦截器实现防止重复提交

    总结来说,防止重复提交的自定义拦截器在Struts2中起到了关键作用,通过生成和验证令牌,能够在不依赖Struts2标签的情况下,有效地避免了用户意外或恶意的重复提交,保证了应用的稳定性和数据的一致性。

    struts2利用token防止表单重复提交(源代码)

    struts2防止表单重复提交,利用struts的拦截器tokenSession,轻轻松松解决表单重复提交的问题。 附件为源代码,后台延迟了3秒,可直接在web服务器下部署运行,输入用户名和密码后,多点几次提交按钮,然后看控制台...

    struts2中防止重复提交的方法

    在Struts2框架中,防止重复提交是一个重要的安全性考量,因为重复提交可能导致数据不一致性和资源浪费。在上述描述中,给出了三种主要方法来解决这个问题: 1) **使用 `&lt;s:token&gt;` 标签** Struts2 提供了一个称为 ...

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

    重复提交问题通常发生在用户点击“提交”按钮后网络延迟导致页面加载缓慢的情况下,用户可能会多次点击提交按钮,从而导致同一表单被多次提交到服务器端处理。这可能导致数据库数据不一致或其它问题,尤其是在涉及...

    struts2 学习重点笔记

    - **减少 Action 调用**:合理设计 Action,避免不必要的多次调用。 - **缓存策略**:利用缓存机制减少数据库查询次数。 **5.2 安全性增强** - **输入验证**:确保所有输入数据经过严格的验证。 - **权限控制**:...

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

    首先,理解表单重复提交的场景:用户在提交表单后,由于网络延迟或其他原因,可能会无意中多次点击提交按钮。如果服务器没有处理这些重复请求,那么相同的数据可能会被多次插入数据库,导致错误。 Struts2的解决...

    struts2实现的简单登陆 附加拦截器防止重复提交

    在这个"struts2实现的简单登陆 附加拦截器防止重复提交"的项目中,我们将深入探讨Struts2如何处理用户登录以及如何通过拦截器来防止重复提交的问题。 首先,我们来理解一下Struts2的核心概念。Struts2框架基于...

    struts2课程笔记

    防止表单重复提交是Web开发中的常见问题,Struts2通过令牌机制来解决这个问题,避免了同一操作被多次执行。 项目练习部分涉及到使用Ajax实现异步请求并返回JSON数据,这通常通过Struts2的JSON插件实现。文件下载则...

    解决Struts重复提交

    在实际开发中,Struts框架的一个常见问题就是“重复提交”。本文将深入探讨这个问题,并提供解决方案。 一、什么是重复提交? 在Web应用中,用户可能会意外地多次点击提交按钮,导致服务器端接收到多个相同请求,这...

    Struts表单重复提交问题

    这种情况通常发生在用户点击提交按钮后,由于网络延迟或其他原因导致请求被多次发送,从而可能对服务器端造成多次数据插入或更新,导致数据不一致。 为了防止这种表单重复提交,Struts提供了一种令牌(Token)机制...

    Struts2 处理多个请求

    在Struts2框架中,处理多个请求的方法是通过一个Action类实现多个处理方法。这使得代码结构更加清晰,每个方法对应特定的业务逻辑。以下是Struts2处理多个请求的三种主要方式的详细说明: 1. **动态方法调用 (DMI -...

Global site tag (gtag.js) - Google Analytics