`
isiqi
  • 浏览: 16760277 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

一个struts的action怎样区分多个请求

阅读更多

因为Servlet是基于多线程的。也就是你的action其实不会根据不同的request创建不同的副本,而是为他们分配不同的线程。当多个线程访问servlet的时候,会产生资源竞争、读写脏数据的问题。

你可以参考一下这个文章:http://java.chinaitlab.com/JavaSecurity/31737.html

如果你的变量moduleList的生命放到方法中去,而不作为action的实例变量,这个问题就不会出现了。例如在execute中声明String moduleList;

多个线程同时写输出流,就互相影响了

让action能为每个请求新建一个实例就可以了,解决办法就是在applictionContext.xml里把action配置为scope="prototype"

分享到:
评论

相关推荐

    struts2一个action处理多个请求 struts2实例

    如果希望一个Action处理多个请求,可以在同一个`<action>`元素内添加多个`<result>`子元素,每个`<result>`对应一个不同的请求。例如: ```xml <action name="myAction" class="com.example.MyAction"> ...

    Struts2 处理多个请求

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

    Struts1.2Action之处理多个业务

    1. **单一Action处理多个业务**:在一个Action类中定义多个方法,每个方法对应一个业务,然后在struts-config.xml配置文件中为每个方法指定不同的`<action>`元素。请求参数可以用来区分调用哪个方法。 2. **使用...

    Struts2的Action多个方法配置和验证

    Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。在Struts2中,Action是核心组件,它负责接收HTTP请求并处理业务逻辑。这篇博客主要讨论了如何配置Struts2 Action...

    struts多个action处理

    在"struts2.0.6多个action处理"这个主题中,我们将深入探讨如何在Struts2框架下管理并执行多个Action。这通常涉及到配置、映射和Action类的设计,以及请求的路由。 1. **Action配置**:在Struts2中,Action是业务...

    struts2利用通配符调用同一个Action里面不同的方法

    当我们想要调用同一个Action中的多个方法时,通常需要为每个方法创建单独的`<action>`元素,这可能会导致配置文件变得冗长且难以维护。 为了解决这个问题,Struts2引入了通配符机制。在URL路径中使用星号(*)作为...

    struts2 result转向到action

    这里定义了一个名为 `login` 的 Action,当表单提交到 `/login.action` 时,Struts2 将会调用 `action.LoginAction` 类来处理这个请求。如果 `LoginAction` 返回 `"success"`,那么根据配置的 `redirect-action` ...

    struts2 使用action属性接收中文参数(post提交)

    - 为了确保请求的正确编码,可以在web应用的过滤器(Filter)中进行强制转换,比如添加一个字符编码过滤器(CharacterEncodingFilter),并配置为在请求进入Action之前先进行编码转换。 3. **Action类的参数注解**...

    Struts2 Action参数详细说明

    但是,通过`method`属性,我们可以指定不同的方法对应不同的Action,这样可以实现一个类中多个方法的映射,提高代码复用性。例如: ```xml <action name="add" class=...

    Struts2中struts_xml的Action配置详解

    在`struts.xml`中,一个Action配置通常由`<action>`元素定义,包含了多个属性,如`name`、`class`、`method`等。 `name`属性用于定义Action的唯一标识,它在请求URL中出现,用于区分不同的Action。例如: ```xml ...

    解决struts2请求转发或重定向时,一个结果码无法对应多个视图的问题

    通过两个自定义结果集,解决struts2请求转发或重定向时,一个结果码无法对应多个视图的问题。以前的做法,是在配置Action时使用通配符解决,但这样需要JSP页面名称和Action的方法名称一致,如果命名不一致或不规范,...

    Struts2 in action

    - Action处理完请求后返回一个结果,这个结果告诉Struts2如何继续下一步操作(如跳转到某个页面)。 - **示例代码**: ```java public class ExampleAction extends ActionSupport { private String name; ...

    一个Struts1多文件上传实例(附Form中传List示例)

    Struts1是一个经典的Java Web框架,它在早期的Web开发中广泛应用。本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将...

    Struts2_Action学习笔记、通配符{1},{2}

    **ActionMethod**是一种在同一个Action类中实现多个方法的能力。例如,在`UserAction`类中,可以通过不同的URL参数来调用不同的方法: ```java public class UserAction extends ActionSupport { public String ...

    Struts2教程:处理一个form多个submit.doc

    总结来说,Struts2通过在Action类中定义与submit按钮对应的方法,以及在JSP页面中使用`s:submit`标签的`method`属性,实现了对一个表单内多个submit按钮的区分处理。这种方法提高了代码的可读性和可维护性,同时也...

    struts2实现的多个文件上传

    在Struts2的配置文件(通常是struts.xml)中,你需要为你的Action添加一个或多个action配置,指定处理文件上传的result类型。Struts2提供了一个特殊的`stream`结果类型,用于处理文件上传: ```xml <action name...

    Struts2 in action(struts2实战)

    作为一个基于Action和基于拦截器的框架,Struts2提供了丰富的功能,使得开发者能够构建可维护、可扩展的Web应用。下面我们将深入探讨Struts2的主要特性、工作原理以及如何在实际开发中运用。 1. **核心概念**: - ...

    moke测试struts的action

    1. **Action配置**:在Struts配置文件中,每个Action都有一个唯一的名称,这个名称用于映射URL请求。配置还包括了Action类的全限定名,以及Action的输入、成功和错误结果的定义。 2. **Action类**:Action类是...

    Struts 1.XX 内置Action

    当用户通过浏览器发送一个请求时,Struts 1的Dispatcher会拦截这个请求,并根据配置文件(struts-config.xml)找到相应的Action来执行。 Struts 1的Action主要负责以下职责: 1. **业务逻辑处理**:Action类中包含...

    Struts 2使用注解配置Action

    1. `@Action`: 这是Struts 2中最核心的注解,用于标记一个方法为处理请求的Action。你可以指定Action的名字、结果页面和其他属性。例如: ```java @Action(value = "myAction", results = { @Result(name = ...

Global site tag (gtag.js) - Google Analytics