`
iamlibo
  • 浏览: 68232 次
社区版块
存档分类
最新评论

Struts2 Action 与Spring bean 作用域

 
阅读更多

struts2 的action 是没有scope的,但通过引用spring bean 可以达到有scope功能。

 

 

<action name="xxxAction" class="xxxBean">
    <result name="success" >/success.jsp</result>
</action>

 

 xxxBean是在spring中配置的session作用域的bean.

 

@Service(value = "xxxBean")
@Scope(value = "session")
public class XxxAction {
...
}
 

 

想把action放到session作用域(因为一些特殊操作传参等),但所有action都放到session会头大的!!

 

经过测试发现一个办法,就是把不用的xxxAction在适当的时候从session当中清除掉,这样再下次使用(没有关闭窗口的情况)的时候会再次创建xxxBean。

 

现在的难点在于什么时候清除比较合适,一般一个action都是负责一个功能,比如用户的增、删、改查等,不会涉及到其他对象,采购单的增、删、改、查。这样就可以在通过菜单切换功能(从用户界面切到采购单界面)的时候将刚刚使用的用户的action从session当中清除。

 

基于这样的思路,使用struts2 的拦截器(Interceptor)来监听特定的action,在菜单切换的时候从session中清除不用的action。

 

 

欢迎提出各种看法!

 

 

 

分享到:
评论
1 楼 iamlibo 2012-05-31  
欢迎大家提出宝贵的意见。

相关推荐

    Spring与Struts2整合

    在Spring的配置文件中定义bean,标记为`prototype`作用域,以便每次请求都能创建新的实例。 5. **Action类的注入** 在Action类中,可以使用@Autowired注解进行依赖注入,或者在Spring配置文件中声明并配置需要注入...

    STRUTS2+SpringLib架包

    3. **Bean管理**:Spring容器管理Bean的生命周期,包括初始化、配置、装配以及销毁,提供了单例、原型等多种bean作用域。 4. **数据访问**:Spring对各种持久化技术如JDBC、Hibernate、MyBatis等提供支持,简化了...

    基于java的企业级应用开发:Bean的作用域.ppt

    * * * * Bean的作用域 作用域的种类 Spring 4.3中为Bean的实例定义了7种作用域,如下表所示: 注意:在上表7种作用域中,singleton和prototype是最... prototype作用域 对需要保持会话状态的Bean(如Struts 2的Action

    深入了解Spring中Bean的作用域和生命周期

    这种作用域适合需要保持会话状态的 Bean,例如 Struts 的 Action。 Bean 的生命周期 Bean 的生命周期是指 Bean 实例的创建、初始化、使用和销毁的过程。在 Spring 中,Bean 的生命周期主要包括以下几个阶段: 1. ...

    spring与struts2整合

    而第二种方法中,Action的生命周期由Struts2管理,通常设置为singleton作用域,但也可以通过插件配置为prototype。 通过这种方式,Spring可以负责对象的依赖注入和管理,而Struts2则专注于处理HTTP请求和视图展示,...

    Struts2+Spring整合所需完整稳定可用jar包

    3. **共享Session作用域**:在整合后,Struts2和Spring可以共享Session作用域的对象,使得状态管理更为便捷。 4. **事务管理**:Spring的声明式事务管理可以覆盖Struts2的Action方法,确保数据的一致性。 5. **...

    Struts2+Spring2整合范例

    通过以上步骤,你可以了解如何在MyEclipse5.5GA环境中完成Struts2与Spring2的整合。尽管这个过程可能有些复杂,但一旦完成,你将获得一个强大而灵活的Web应用框架。记住,实践是检验真理的唯一标准,多动手尝试,...

    struts2+hibernate+spring整合

    4. 在Spring配置文件中定义Action类Bean,并设置为原型(prototype)作用域。 5. 配置Hibernate的SessionFactory和DataSource。 在实际开发中,我们通常按照数据库层(POJO和Hibernate映射)、数据访问层(DAO)、...

    struts,与spring整合

    6. **模型驱动(ModelDriven)**:在Struts中,ModelDriven接口可以简化Action类的设计,将业务模型直接绑定到请求作用域。在Spring整合中,ModelDriven接口可以与Spring的Model对象相结合,提供更好的数据管理。 7...

    Spring整合集成Struts1.2最简单例子

    - **Action类改造**:将Action类变为Spring的管理Bean,通常标记为`prototype`作用域,因为每个请求可能需要一个新的实例。 5. **Spring管理Struts的Action** 在Spring配置文件中,声明Struts Action为Bean,并...

    第17讲 Spring、hibernate和Struts2的整合

    ②把action交给spring管理,即在spring配置文件中定义action Bean并使用依赖注入功能在action中注入业务Bean,同时修改作用域。 ③在struts.xml中的class使用第②步中所定义的action Bean 的id属性值。

    Spring整合Struts 的详细开发文档

    Action 类通常需要标记为 `prototype` 或 `singleton` 作用域,以便 Spring 可以管理其生命周期。 4. **配置 Struts 动作映射**: - 在 Struts 的动作映射配置中,不再直接定义 Action 类的全限定名,而是使用 ...

    struts2+spring2+hibernate3.1应用实例

    1. **applicationContext.xml**:这是Spring的核心配置文件,用于定义Bean的定义,包括它们的依赖关系、初始化参数、作用域等。在这里,可能会配置Spring的DataSource、SessionFactory(Hibernate的配置)、Service...

    struts2+hibernate3.2+spring2.0帮助文档

    Spring2.0中文帮助文档.chm可能涵盖了Spring的核心模块,如IoC容器、AOP原理、Bean的生命周期和作用域、数据源配置、DAO支持和Spring MVC的配置与使用。Spring的注解驱动开发、Spring Security和Spring Boot等内容也...

    Spring+Hibernate+Struts

    "spring_scope"可能涵盖了Spring的Bean作用域,如Singleton、Prototype、Request、Session等,以及它们在不同场景下的应用。 Hibernate是一个对象关系映射(ORM)框架,简化了数据库操作。"spring_hibernate_1"和...

    struts1 + hibernate + spring 实现文件上传

    2. **Struts1配置**:在Struts1的配置文件(struts-config.xml)中定义一个Action,指定处理文件上传的Form Bean和Action Class。 3. **ActionForm**:创建一个继承自Struts1的`ActionForm`类,添加`File`和`String...

    struts2+hibernate3.2+spring2.0配置+入门实例

    【Struts2+Hibernate3.2+Spring2.0配置+入门实例】 本文将详细介绍如何配置和构建一个基于Struts2、Hibernate3.2和Spring2.0的企业级Java应用入门实例。首先,我们理解整体架构,这有助于我们更好地了解各个组件的...

    基于注解的spring+hibernate+struts2源码.rar

    `@Namespace`用于指定Action的作用域,`@ParentPackage`指定继承的配置包。同时,`@Param`注解可以用来接收参数,`@SkipValidation`可以跳过当前Action的验证。 四、整合流程 1. 配置环境:首先确保JDK、Tomcat、...

    struts-bean:message使用

    在Struts框架中,`struts-bean`是核心库的一部分,提供了许多与用户界面相关的Bean类,包括数据绑定、国际化等功能。`&lt;message&gt;`标签是Struts标签库中的一个关键组件,它用于在页面上显示从资源文件中提取的消息或...

    Struts学习总结.doc

    例如,`&lt;action&gt;`标签内的`path`指定了URL路径,`type`指定了Action的类,`name`对应Form Bean,`scope`定义了Form Bean的作用域,`input`用于指定错误时回跳的页面,而`validate`标记是否执行表单验证。 2. **...

Global site tag (gtag.js) - Google Analytics