转自:
struts2.与spring集成
1.将struts2-spring-plugin-2.0.8.jar文件包含到我们的应用中,放到WEB-INF/lib目录下面即可。在这个插件包中有个struts-plugin.xml文件,它的内容如下:
<struts>
<bean type="com.opensymphony.xwork2.ObjectFactory" name="spring"
class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<constant name="struts.objectFactory" value="spring" />
<package name="spring-default">
<interceptors>
<interceptor name="autowiring"
class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
<interceptor name="sessionAutowiring"
class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
</interceptors>
</package>
</struts>
这里它将框架常量struts.objectFactory覆盖了,设置为”spring”,其实这里是使用了缩写,我们可以写全称:org.apache.struts2.spring.StrutsSpringObjectFactory。这个缩写的”spring”是和bean配置中的name属性相对应的。默认情况下所有由框架创建的对象都是由ObjectFactory实例化的,ObjectFactory提供了与其它IoC容器如Spring、Pico等集成的方法。覆盖这个ObjectFactory的类必须继承ObjectFactory类或者它的任何子类,并且要带有一个不带参数的构造方法。在这里我们用org.apache.struts2.spring.StrutsSpringObjectFactory代替了默认的ObjectFactory。
如果action不是使用Spring ObjectFactory创建的话,插件提供了两个拦截器来自动装配action,默认情况下框架使用的自动装配策略是name,也就是说框架会去Spring中寻找与action属性名字相同的bean,可选的装配策略还有:type、auto、constructor,我们可以通过常量struts.objectFactory.spring.autoWire来进行设置。
2.配置Spring监听器,将Spring.jar包包含到应用中
引用
在web.xml中加上:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
3.利用Spring配置文件来注册对象
在applicationContext-xml.进行配置bean,当配置Action的id时应该与struts.xml中class我相应,进行关联起来。如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Example of SAF2 action instantiated by Spring -->
<bean id="dao" class="tutorial.dao.BookDao" singleton="true" />
<bean id="bookAction" class="tutorial.action.BookAction" singleton="false">
<property name="dao">
<ref local="dao" />
</property>
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="Struts2_CRUD_DEMO" extends="struts-default" namespace="/Book">
<global-results>
<result name="root">/exception.jsp</result> <!-- /指向book包外的页面 -->
</global-results>
<global-exception-mappings>
<exception-mapping exception="common.MyException" result="root" />
</global-exception-mappings>
<action name="List" class="bookAction" method="list">
<result>List.jsp</result>
</action>
<action name="Edit" class="bookAction" method="load">
<result>Edit.jsp</result>
</action>
<action name="Store" class="bookAction" method="store">
<result type="redirect">List.action</result>
<result name="input">Edit.jsp</result>
</action>
<action name="Remove" class="bookAction" method="remove">
<result type="redirect">List.action</result>
</action>
</package>
</struts>
注意:strut.xml中配置的action的class值,应该与spring中配置的Action Bean id 相应。
分享到:
相关推荐
标题"Struts2.X+Hibernate3.X+Spring2.5 整合"指的是将这三个框架的特定版本(Struts2.X,Hibernate3.X,Spring2.5)集成到同一个项目中,实现高效的企业级应用开发。这种整合能够充分利用各个框架的优势,使开发者...
在集成过程中,首先需要设置Struts1.x的配置文件(struts-config.xml),定义Action和ActionForm,以及与Spring的集成。接着,在Spring的配置文件(如applicationContext.xml)中,你需要定义业务bean,配置事务管理...
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
2. **配置文件**:如struts-config.xml、spring-context.xml、hibernate.cfg.xml,分别配置Struts1.x的动作映射、Spring的bean定义和Hibernate的数据源及实体映射。 3. **实体类**:表示数据库中的表,通常会包含...
此外,Spring 2.x还强化了与Hibernate等ORM框架的集成。 **Hibernate 2.x** Hibernate 2.x 是一款流行的对象关系映射(ORM)框架,用于处理Java应用程序与关系数据库之间的交互。它允许开发者用面向对象的方式操作...
Struts1.x、Spring 2.x 和 Hibernate3.x 是经典的Java Web开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成。这个jar包集合包含了这三个框架的核心库和其他相关依赖,便于开发者快速搭建一个基于MVC模式的...
在"struts1.x+spring+hibernate集成例子"中,我们首先会看到如何将这三个框架整合到一个项目中。Struts1.x 作为前端控制器,接收用户的HTTP请求,通过Action转发和配置文件(struts-config.xml)来决定业务流程。...
Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自在Web应用程序的不同层面上发挥作用,共同构建了所谓的"S2SH"(Struts2、Spring、Hibernate)集成架构。Struts2作为MVC(Model-View-Controller)框架...
2. **Struts2与Spring的整合**:通过Spring插件Struts2-Spring-plugin,使得Action类可以被Spring自动管理,实现依赖注入。同时,Struts2的配置文件中可以引用Spring管理的Bean。 3. **Hibernate与Spring的整合**:...
将Struts2与Spring集成可以充分利用两者的优点,实现更高效、更灵活的开发。 集成Struts2和Spring,首先需要理解这两个框架的核心概念。Struts2作为MVC框架,主要负责处理HTTP请求,控制应用程序的流程,并将用户...
为了实现Struts1.x与Spring2.x的无缝集成,首先需要在项目的`web.xml`文件中进行必要的配置。具体步骤如下: - **配置Spring ContextLoaderListener**:通过`ContextLoaderListener`来加载Spring的应用上下文。 `...
然而,随着时间的推移,Struts 1.x 因为其局限性和安全问题,逐渐被Struts 2 和其他现代框架如Spring MVC、Play Framework等取代。尽管如此,了解 Struts 1.x 的基础知识对于理解Java Web开发的历史和演变仍然非常有...
在实际开发中,开发者通常会根据项目需求选择并引入相应的Struts2插件,以实现特定的功能,比如使用`struts2-spring-plugin.jar`来整合Spring框架,实现依赖注入,或者使用`struts2-rest-plugin.jar`来支持RESTful...
1. **安装和配置**:了解如何在项目中集成Struts1.x框架,配置web.xml和struts-config.xml文件。 2. **Action和ActionForm**:深入理解这两者的作用,如何编写和使用它们。 3. **视图渲染**:熟悉JSP页面和Struts...
综上所述,"基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码"提供了一个完整的SSH整合教程,通过下载的源码和文档,开发者可以学习并实践SSH的集成,了解每个框架在实际项目中的作用和它们协同...
插件架构使得Struts2.x能够轻松地扩展功能,如与Spring、Hibernate等其他框架的集成。 整合Struts2.x通常涉及以下几个步骤: 1. 添加依赖:在项目构建工具(如Maven或Gradle)的配置文件中添加Struts2.x的依赖库,...
1. **Spring**:Struts1.x可以与Spring框架整合,Spring负责管理Action的依赖,提供AOP(面向切面编程)支持。 2. **Hibernate**:结合Hibernate,Struts可以实现持久层操作,提高数据访问效率。 3. **Struts-...
Struts1.x、Hibernate 3 和 Spring 3 是经典的Java Web开发框架,它们的集成被称为SSH(Struts、Spring、Hibernate)集成。这个"struts1.x + hibernate 3+spring 3 集成实例"是一个空项目,特别适合初学者理解和学习...
Struts1.x提供了处理多文件上传的功能,使得开发者可以方便地集成到自己的应用程序中。 在Struts1.x中实现多文件上传,主要涉及以下几个核心概念和步骤: 1. **表单设计**:首先,你需要创建一个HTML表单,包含`...
SSH整合是Java Web开发中的一种常见技术组合,指的是Struts2、Spring和Hibernate三大框架的集成。这三种框架分别在表现层、业务层和服务层扮演重要角色,它们的结合能够帮助开发者构建高效、灵活和可维护的Web应用...