`

【转】关于struts2整合spring的action的一个问题

    博客分类:
  • j2ee
阅读更多
Struts2 本身是线程安全的,在默认的情况下会为每一个请求创建一个实例对象,这在一定程度上解决了servlet带来的线程安全的问题。

Struts2的Bean在交给Spring IOC管理后,默认使用的是单例,所有请求使用同一Action,当Action中定义一些变量以接受参数时,或者进行验证时,往往会出现线程安全问题。

比如:

         Struts2的Action是单例,其中的FieldError,actionerror中的错误信息会累加, 即使再次输入了正确的信息,也过不了验证。

        Action中定义了User对象,请求A提交表单,填充User对象,请求B判断Action中User对象是否为空,不为空则加载(此时B请求所对应的User对象并未加载)

        等等等等....


所以在Spring 整合Struts2的时候,记得将Struts2 Bean 的Scope设置成prototype哦
    @Controller 
    @Scope(BeanDefinition.SCOPE_PROTOTYPE) 
    public class UserAction extends ActionSupport { 
原文地址:http://blog.csdn.net/myxx520/article/details/8694387
分享到:
评论

相关推荐

    Struts2整合Spring、JPA

    在整合Spring时,我们通常会利用Spring的Action代理来替代Struts2默认的Action实例化方式,这样可以将Action的创建和依赖注入交给Spring容器来管理。具体实现包括在Struts配置文件中声明Spring插件,并在Spring的...

    struts2整合spring实现拦截器

    值得注意的是,Struts2_Spring整合过程中可能会遇到如依赖冲突、配置问题等挑战,因此熟悉两种框架的原理和配置细节至关重要。同时,随着技术的发展,现代Web开发更多倾向于使用Spring Boot这类一站式解决方案,但...

    整合struts2和spring

    通过以上步骤,我们可以实现Struts2和Spring的有效整合,创建一个既具备强大MVC功能又具有良好依赖管理和事务处理能力的Web应用。这种整合方式有利于降低耦合度,提高代码复用性,并且易于维护和扩展。在实际项目中...

    struts2和spring3注解整合问题

    通过以上步骤,你应该能够解决Struts2和Spring3注解找不到action的问题。如果问题依然存在,进一步检查项目的具体配置和代码,或者寻求更多专业帮助。记住,调试和解决问题是提升技术能力的重要环节。祝你成功解决...

    struts2与spring2的整合

    整合Struts2和Spring2的主要目标是将Spring的DI功能引入到Struts2的Action类中,使得Action类的依赖可以在Spring容器中被管理。这样,Action类不再需要自行创建依赖对象,而是通过Spring来获取,增强了代码的可维护...

    Spring与Struts2整合

    在Java Web开发中,Spring和Struts2...整合Spring和Struts2是一个常见的Java Web开发实践,熟练掌握这一技能能够提高开发效率,提升应用的可维护性和扩展性。在实际开发过程中,可以根据项目的具体需求进行定制和优化。

    spring与struts2整合

    在示例项目 `spring_struts_teranen` 中,开发者可能已经提供了一个简单的整合案例,包括配置文件、Action 类、JSP 视图以及必要的测试。初学者可以通过阅读代码、运行示例和对比不同部分来了解整合的细节。这个过程...

    struts2整合spring、hibernate的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在不同的层面解决应用程序的架构问题。Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求和展示视图;Spring则是一个全面的轻量级...

    Struts 2 整合Spring

    - **Struts 2**:作为Java Web应用开发中的一个重要框架,Struts 2 提供了一种灵活的方式来构建MVC(Model-View-Controller)架构的应用程序。它提供了一系列强大的特性,如拦截器、类型转换、文件上传等功能,并且...

    struts2整合Spring和hibernate案例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的...这个案例提供了一个实用的起点,帮助开发者理解如何在实际项目中将Struts2、Spring和Hibernate结合,以实现高效的Java Web应用开发。

    Struts1+Spring2+Hibernate2整合详细例子

    Spring2则是Spring框架的一个版本,它提供了一个全面的编程和配置模型,用于简化企业级Java应用的开发。Spring的核心特性包括依赖注入(DI),面向切面编程(AOP),以及用于处理事务、数据访问和Web应用的模块。在...

    struts2整合spring jar包

    2. **Spring的Action代理**:整合过程中,Spring会为Struts2的Action类创建一个代理对象,这个代理对象负责调用实际的Action方法。这样,我们可以在不修改Action类的情况下,利用Spring进行AOP拦截,实现如事务管理...

    Struts2整合Spring.docStruts2整合Spring.doc

    Struts2 整合 Spring 是一个常见的 Java Web 开发中的集成技术,主要目的是利用 Spring 提供的依赖注入(Dependency Injection, DI)和控制反转(Inversion of Control, IoC)来管理 Struts2 中的 Action 类,使得...

    struts2和spring和Hibernate整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决应用程序的不同问题,而将这三者整合在一起可以构建高效、灵活的企业级应用。Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求...

    struts2和spring整合包

    整合Struts2和Spring的主要目标是利用两者的优点,创建一个更强大的MVC应用。整合步骤通常包括: 1. **配置Spring**:创建Spring的ApplicationContext配置文件,定义Bean及其依赖。 2. **配置Struts2**:在Struts2...

    Struts2与Spring整合的demo

    - `StrutsSpring`可能包含一个简单的整合示例,包括Struts2的配置文件、Spring的配置文件以及相关的Action类和业务接口。 - 示例可能会展示如何配置Action类,如何在Spring中定义bean,以及如何在Struts2中引用...

    Struts2, Spring与myBatis整合示例项目

    在SSM整合中,Spring作为核心,负责初始化和管理所有组件,包括Struts2的Action和拦截器,以及MyBatis的SqlSessionFactory。Spring的ApplicationContext加载配置文件,创建Bean实例,并通过依赖注入将它们装配到一起...

    struts2-spring-plugin-2.3.4.jar

    Struts2-Spring-Plugin-2.3.4.jar 是一个专门为 Struts 2 框架和 Spring 框架整合而设计的插件,主要用于处理 Struts 2 和 Spring 之间的集成问题。在Java Web开发中,这两个框架经常一起使用,Spring 提供了依赖...

    struts2+spring+hibernate 整合的jar包

    4. **整合Struts2和Spring**:使用Struts2的Spring插件,将Spring管理的Bean注入到Struts2的Action中,通常通过`<struts-plugin>`标签进行配置。 5. **配置Struts2**:创建Struts2的配置文件(struts.xml),定义...

Global site tag (gtag.js) - Google Analytics