`
mrzhangtufu
  • 浏览: 61962 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring集成Struts的方法

阅读更多

struts要和spring集成,struts就必须能访问spring的上下文,struts作为web的框架,故要保证web应用程序启动前装载了spring的web应用上下文。如果装载了spring的web上下文,在程序中就可以通过spring提供的WebApplicationContextUtils工具类来访问该上下文:
 ApplicationContext ctx =
  WebApplicationContextUtils.getWebApplicationContext(servletContext);

装载spring上下文的方法有以下几种:
1、通过web.xml声明监听器,在web服务启动时装载: (其listener用到context-param)
 ...................

 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml</param-value>
 </context-param>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 .......................

2、通过web.xml声明spring提供的ContextLoaderServlet(早期不支持servlet2.4时用):
 
 ...................
 <servlet>
  <servlet-name>contextLoader</servlet-name>
  <servlet-class>
   org.springframework.web.context.ContextLoaderServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 ...................

3、通过struts-config.xml以插件的形式声明spring提供的ContextLoaderPlugin,就可以向sturts的ActionServlet装载spring的应用上下文了:

  ......................

 <plug-in className="org.springframework.web.struts.ContextLoaderPlugin">
  <set-property property="contextConfigLocation"
   value="/WEB-INF/applicationContext.xml"/>
 </plug-in>

 .........................

 


集成struts的方法:


1 、使用 org.springframework.web.struts.ActionSupport 类:
这是最简单的集成struts方法。通过struts的action简单继承ActionSupport类便可以直接使用spring上下文。
 ..............
 XXXX xxx=(XXXX)this.getWebApplicationContext().getBean("xxx");
 ..............

2、使用 org.springframework.web.struts.DelegatingRequestProcessor 类来覆盖struts的高层处理类RequestProcessor,这就要在struts-config.xml中用controller声明:
 .....................
 <action-mappings>
  ...........
  <action path="/login"
   type="struts.action.LoginAction"
   name="loginForm">
  <forward name="success" path="/WEB-INF/main.jsp">
  </action>
  ...........
 </action-mappings>
 .....................
 <controller processorClass="org.springframework.web.struts.DelegatinRequestProcessor"/>
 .....................
 
另外,还要在spring配置文件中,声明对应某个action的bean,而且bean的name值必须和action的path一致,因为spring容器是根据此bean的name来找到相应的action,然后再进行相应的注入操作的:
 ................
 <bean id="loginService" class="business.LoginServiceImpl">
         <property name="name" value="aaaaa"/>
     </bean>

     <bean name="/login"
      class="struts.action.LoginAction">
         <property name="loginService">
             <ref bean="loginService"/>
         </property>
     </bean>
 ................

 

3、使用 org.springframework.web.struts.AutowiringRequestProcessor 类,它是spring2.0 后加入的。类似DelegatingRequestProcessor,但它的自动完成能力更强。首先也要在struts-config.xml中用<controller>声明:
 ........................
 <controller processorClass="org.springframework.web.struts.AutowiringRequestProcessor"/>
 ........................
其他的就照常就得了,它比DelegatingRequestProcessor少了在spring配置中声明action的bean,它会根据action类名来自动完成注入操作。即Struts的Action中如有某业务类A对象的属性,又在spring配置文件中声明了业务类A的Bean,则AutowiringRequestProcessor就会自动将业务类A的Bean注入到Action中。

看上去你好像啥都没做,而事实上,注入工作已经由AutowiringRequestProcessor自动完成。 这种autowire的注入支持两种不同的方式,分别是byName和byType,默认是byType。

4
0
分享到:
评论

相关推荐

    ssh集成jar包,支持spring集成Hibernate,spring集成struts2等

    - Spring与Struts2集成,Spring可以作为Struts2的Action的依赖注入容器,通过Spring的ApplicationContext获取服务层对象,实现业务逻辑处理。 - Struts2与Hibernate集成,通常在Action中通过SessionFactory获取...

    Spring集成struts以及hibernate jar包

    标题中的"Spring集成struts以及hibernate jar包"指的是在Java Web开发中,将Spring框架与Struts2和Hibernate框架进行整合的过程。这通常是为了构建一个完整的MVC(Model-View-Controller)架构,其中Spring负责依赖...

    Spring与Struts集成方式一

    在IT行业中,Spring和Struts都是非常著名的Java Web框架...这只是一个基础的集成方法,实际上还有其他的集成方式,如使用Spring MVC替代Struts,或者结合其他框架如Hibernate进行数据持久化操作,进一步优化应用架构。

    spring集成Struts与Hibernate

    ### Spring集成Struts与Hibernate详解 #### Spring集成Struts **背景介绍** 随着Java技术的发展,Struts作为最早的MVC框架之一,在Java EE领域中占据了重要地位。虽然随着时间的推移,新的框架和技术不断涌现,但...

    Spring集成Struts与Hibernate入门详解

    Spring集成Struts与Hibernate入门详解 Spring框架是Java平台上一个开源的轻量级框架,它提供了许多功能强大且灵活的模块,以帮助开发者快速构建企业级应用程序。Struts是Apache软件基金会的一个开源项目,提供了一...

    第28讲--Struts与Spring集成方案2(Spring集成Struts)

    本讲解将深入探讨如何将Spring集成到Struts中,以实现更好的控制反转(IoC)和面向切面编程(AOP)。 Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,主要用于处理HTTP请求和展示视图。它...

    Spring集成Struts的三种方案

    在Spring-Struts的集成中,一种常见方法是通过继承Spring提供的`ActionSupport`基类。`ActionSupport`是`Action`的抽象实现,它包含了对Spring应用上下文的访问。当我们在自定义的Action类中,例如`CourceAction`,...

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

    下面我们将详细探讨Spring与Struts1.2的整合集成及其核心概念。 1. **Spring框架介绍** Spring是一个全面的后端开发框架,包括了数据访问、事务管理、远程调用、AOP等模块。它通过DI和AOP简化了对象的创建和管理,...

    整合Spring与Struts的几种方法

    Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,以及对其他框架的良好集成,而Struts则是一个专注于MVC模式的轻量级框架。在整合两者时,主要目标是让Spring管理Struts的Action实例,这样可以利用Spring...

    Spring之Spring2.5集成Struts2.2

    标题“Spring之Spring2.5集成Struts2.2”涉及到的是在Web开发中整合两个非常流行的开源框架——Spring和Struts2的过程。这个过程旨在利用Spring的强大IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...

    Spring整合Struts

    这种方式更适用于那些需要深度集成Spring特性的场景,比如AOP或更复杂的依赖注入需求。 ### 结论 Spring与Struts的整合提供了灵活且强大的Web应用开发解决方案。无论是通过ContextLoaderPlugin还是继承...

    Spring+Struts2+hibernate+Redis整合

    通过Action类和拦截器,可以实现与Spring的无缝集成,同时也可以利用Spring的缓存功能,将频繁访问的数据存储在Redis中。 3. **Hibernate框架**:Hibernate是Java领域的一个对象关系映射(ORM)框架,它简化了数据库...

    Spring集成struts2、ibatis、dwr、poi实现的demo

    使用Spring集成struts2、ibatis、poi实现的增删改查功能,包括采用jquery实现的无刷新查询机分页、dwr实现的两级联动、以及采用poi动态将数据库数据导出成excel,本demo采用mysql数据库,附有建表sql,项目导入...

    Spring集成Struts2环境简单配置

    以下是对“Spring集成Struts2环境简单配置”的详细说明: 首先,我们需要在项目中引入Spring和Struts2的依赖库。这通常通过Maven或Gradle等构建工具完成,添加相应的依赖项到项目的pom.xml或build.gradle文件中。...

    Spring集成Struts

    将两者集成,可以利用Spring的强大 IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)能力,以及Struts的优秀表现层管理,提升项目的可维护性和扩展性。 首先,集成Spring...

    spring与struts2整合

    同时,为了集成 Spring,需要配置 Struts2-Spring 插件,这样 Struts2 就能利用 Spring 管理的 Bean。 4. **Action 类**:Action 类通常作为 Struts2 处理请求的入口,它可以从 Spring 容器中注入所需的依赖。通过...

    Spring集成Struts、JSF、WebWork2

    这篇博客"Spring集成Struts、JSF、WebWork2"探讨了如何将这些框架与Spring进行整合,以构建更复杂、灵活的Web应用程序。 首先,让我们详细了解一下这三个框架: 1. **Struts**: Apache Struts 是最早的Java MVC...

    Spring集成Struts、Hibernate.pdf

    ### Spring集成Struts #### 一、Spring与Struts整合背景及意义 Spring框架作为一款轻量级的Java EE开发框架,在企业级应用开发中占据了举足轻重的地位。它以其强大的依赖注入(DI)和面向切面编程(AOP)能力著称...

    intellij环境下maven项目spring+struts集成空模板

    为了方便大家开发,特意制作了intellij环境下maven项目spring+struts集成空模板。直接导入intellij就可以用,模板下有个简单的小例子。对于学习spring+struts集成、以及希望快速开发的人来说都是不错的资源

    struts2 spring hibernate集成

    集成Struts2、Spring和Hibernate时,需要注意配置文件的正确设置,包括Action配置、Spring Bean的定义、Hibernate的数据库连接和实体映射。同时,理解这三个框架的工作原理和相互作用,对于解决问题和优化代码至关...

Global site tag (gtag.js) - Google Analytics