`
jxb1016
  • 浏览: 22677 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2与Spring的整合

 
阅读更多
                 Struts2与Spring的整合  
   根据当前的统计状况,软件开发行业对Struts1的使用率逐渐在降低,而对Struts2的使用率逐渐上升,这取决于Struts2比Struts1有着很多更方便,合理的改进。
   简单说几点关键的改进吧。首先,Struts2中的Action不再依赖于Http协议,进一步说就是不再依赖于表示层中的request,response等http协议中的对象了,这一改进让我们的Action可以是一个普通的JavaBean或叫POJO类;其次,它在配置文件的配置上简化了很多,配置很方便;再次就是,它是一个基于组件的框架,可整合JSF,Tapestry,DWR,FreeMark,JFreeChart,Spring等等,体现了它强大的可扩展性。
   那么,我现在谈下Spring与Struts2的整合。
   其整合中最重要的原理就是,我们的Structs2在默认情况下是由自己创建Action对象,进行请求处理和业务调度的。可是SSH整合的项目中,我们都知道,后台的业务处理和DAO都是由Spring进行横向管理的。这意味着,我们的请求要想得到后台业务对象的相关服务,就必须和Spring扯上关系,那就是把Struts2里面创建Action的权利交给Spring。
    第一,我们首先要把Struts2与Spring整合的支持架包导入工程,加入struts2-spring-plugin-2.0.9.jar到lib目录.
    第二,我们通过配置web.xml来通知工程在启动时候装载Spring上下文,具体配置如下:
在web.xml中添加如下配置。
   <!-- Struts2配置 -->
        <!-配置Structs2的中心控制器-->
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<!--设置上下文本地配置文件的路径-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/classes/applicationContext.xml
		</param-value>
	</context-param>

	<!-- 装载Spring上下文 -->
	<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener> 

    第三,在struts.properties中加入: struts.objectFactory = spring或在struts.xml中加入: <constant name="struts.objectFactory" value="spring" />告知Struts2的Action由Spring创建和管理。
    第四,在Spring配置文件applicationContext.xml中加入相应Action的<bean />,
如:Struts2中有个Action为LoginAction,此Action的name属性为name="login",那么在Spring的配置文件的配置就是:
<bean id="login" class="org.struts2.action.LoginAction"></bean>
我们就可以在上面的bean中由Spring注入相应的业务对象了。

    Ok,这样,Struts2就和Spring整合了。
分享到:
评论
4 楼 huanglei7211 2010-04-22  
楼主你写的也太简单了????
多提供点撒!
3 楼 huanglei7211 2010-04-22  


对应struts.xml文件配置是
<action name="login" class="org.strus2.action.LoginAction"></action>
2 楼 kgd4409 2010-04-22  

第四步中的applicationContext.xml中配置的
<bean id="login" class="org.struts2.action.LoginAction"></bean>
对应于struts.xml文件的配置是
<action name="mymethod" class="login"></action>

即bean的id值对应于action中的class值。

请问楼主是不是这样配置的?新人求解。

1 楼 isy 2010-04-22  
我就是冲着Structs2与Spring的整合这个题目来的,还以为struts也出山寨版了.

相关推荐

    Struts2与Spring整合的demo

    下面我们将深入探讨Struts2与Spring整合的相关知识点。 1. **Struts2框架**: - Struts2是一个基于MVC设计模式的Web应用框架,用于简化Java Web应用的开发。 - 它提供了强大的Action类,负责处理请求并调用业务...

    Struts2与spring整合事例

    **Struts2与Spring整合的优势** 1. **解耦合**:通过Spring的依赖注入,Action类可以从容器获取依赖的服务,降低了Action和具体实现的耦合。 2. **统一管理**:Spring可以管理Struts2的Action实例,实现Action的单例...

    Struts2与Spring整合

    总之,Struts2与Spring的整合使得开发者能够更好地组织和管理应用程序的各个部分,降低了耦合度,提高了可维护性和可测试性。同时,这种整合也为企业级应用开发提供了更强大的功能和灵活性。通过学习和掌握这些知识...

    Struts2与Spring整合使用json报错解决办法[归纳].pdf

    Struts2与Spring整合使用json报错解决办法[归纳].pdf

    struts2与spring整合需要的struts的插件struts2-spring-plugin-2.3.8.jar

    这个插件是在strtus2和spring集成必备的一个插件

    Struts2和Spring整合

    3. **Struts2与Spring整合的意义**:整合这两个框架的主要目的是利用Struts2的优秀控制层和视图层处理,结合Spring的强大依赖注入和事务管理功能,提高代码的可测试性和解耦性。同时,通过Spring管理Struts2的Action...

    struts2与spring2的整合

    本文将深入探讨Struts2与Spring2的整合过程及其背后的原理。 首先,Struts2是一个基于MVC设计模式的Web应用框架,它主要负责处理HTTP请求,提供强大的动作(Action)和结果(Result)管理,以及丰富的插件系统。...

    struts2整合spring jar包

    4. **FilterDispatcher**:在Struts2与Spring整合时,通常会使用`StrutsSpringObjectFactory`替换默认的`DefaultActionProxyFactory`。为此,我们需要在web.xml中配置`StrutsPrepareAndExecuteFilter`而非传统的`...

    struts2和spring整合的例子

    在 MyEclipse 中,选择 Struts2 的支持并添加 Struts2-spring-plugin-2.0.11.jar,这是 Struts2 与 Spring 整合的关键库。 3. **添加 Spring 支持**:接着添加 Spring 支持,确保勾选 Spring 2.0 Web Libraries,...

    Struts2+Spring整合

    **Struts2与Spring整合** 1. **依赖注入(DI)**:整合Struts2和Spring后,可以通过Spring的DI机制来管理Struts2中的Action实例,从而实现Action对象的生命周期管理和依赖关系的自动装配。 2. **Action配置**:在...

    struts2与spring的整合

    为了演示Struts2与Spring整合的效果,这里定义了一个简单的业务接口`ChatService`及其实现类`ChatServiceImpl`: ```java // ChatService.java public interface ChatService { Set&lt;String&gt; getUserNames(); } //...

    Struts2 + Spring 整合简单例子

    提供的压缩包文件"struts2+spring整合实例.docx"可能包含了详细的步骤和示例代码,用于指导如何将这两个框架整合到一个项目中。通过学习和实践这个实例,开发者可以更好地理解和掌握Struts2与Spring的整合技巧。

    struts2整合spring

    3. **Struts2-Spring插件**:`struts2-spring-plugin-x.xx.jar`,这是实现Struts2与Spring整合的关键组件。 此外,还需要其他第三方库的支持,例如`commons-logging.jar`、`ognl-x.xx.jar`等。 #### 三、配置...

    struts2与spring 最简单整合

    三、Struts2与Spring整合的必要性 整合Struts2和Spring的主要原因是利用两者的互补性,提升应用的可维护性和可扩展性。Spring可以作为业务层的容器,管理Action和Service的生命周期,实现依赖注入,而Struts2则专注...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    struts2和spring和Hibernate整合的jar包

    5. **整合Struts2与Spring**:使用Spring-Struts2的插件,比如struts2-spring-plugin-*.jar,这样Action可以被Spring管理,实现依赖注入。在struts.xml中,通过`&lt;spring:bean&gt;`标签声明Action。 6. **处理冲突**:...

    struts2和spring整合包

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

    Struts2与Spring2框架整合实例

    在Struts2与Spring2的整合过程中,主要目标是将Struts2的控制层与Spring2的服务层无缝对接,以便更好地管理对象和执行业务逻辑。以下是一些关键知识点: 1. **依赖注入(Dependency Injection,DI)**:Spring2的...

    Struts2+Spring整合所需jar包

    - **struts2-spring-plugin.jar**:用于Struts2与Spring的整合,提供Action类的依赖注入功能。 - **struts2-tiles-plugin.jar**:集成Tiles布局框架,方便页面的组织和复用。 - **struts2-json-plugin.jar**:...

Global site tag (gtag.js) - Google Analytics