来源:
struts2+spring整合
1、整合struts2
1)导入strut2的jar包:
commons-logging-1.0.4.jar-----------Jakarta的通用日志记录包
freemarker-2.3.8.jar--------------------FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具
ognl-2.6.11.jar--------------------------支持ognl表达式
struts2-core-2.0.12.jar-----------------struts2的核心包
xwork-2.06.jar--------------------------xwork的包由于Struts2是由xwork的延伸,有些类依然关联着 xwork的类
commons-fileupload-1.2.1.jar ------- struts的上传下载
(ognl是一种功能强大的表达式,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。)
2)将struts.xml文件放置在工程的src目录下。
3)在web.xml里面配置struts2用到的核心过滤器。
Xml代码如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、整合spring
1)导入spring的jar包:spring.jar
2)将applicationContext.xml文件放置在工程的WEB-INF目录下。
3)在web.xml里面配置spring用到的监听器。
Xml代码如下:
< listener >
< listener-class > org.springframework.web.context.ContextLoaderListener</ listener-class >
</ listener >
4)添加struts2-spring整合的插件:struts2-spring-plugin-2.0.12.jar,如果不使用这个插件,则需要在struts.xml里面配置:
Xml代码如下:
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.objectFactory.spring.autoWire" value="name" />
或
在struts.properties中设置struts.objectFactory属性值:
struts.objectFactory = spring
注释:struts2-spring-plugin包为我们将struts2的对象工厂设置为spring的IoC容器,其代码为:
<struts>
<bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<!-- Make the Spring object factory the automatic default -->
<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定位为org.apache.struts2.spring.StrutsSpringObjectFactory
其余的工作就交给spring的IoC容器去做了。
5)Spring配置文件。默认情况下,Spring配置文件为applicationContext.xml,该文件需要保存在Web应用的WEB-INF目录下。内容示例如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "/spring-beans.dtd">
<!--
- Application context definition.
-->
<beans>
<import resource="classpath:cc-consumption.hsf.client.context.xml" />
</beans>
开发者实际上可以使用多个Spring配置文件,在web.xml中进行下列设置,从而使Spring的ApplicationContext通过匹配所给定模式的文件来初始化对象:
<!-- 用来定位Spring XML文件的上下文配置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
整合完毕后还要在struts.xml文件中进行配置,已完成action和jsp的映射,例子如下:
<package name="com.koubei.example" namespace="/" extends="struts-default">
<action name="HelloWorld" class="com.koubei.example.HelloWorld">
<result name="success">/example/HelloWorld.jsp</result>
<result name="error">/example/error.jsp</result>
</action>
</package>
整合原理
Struts2与Spring的集成要用到Spring插件包struts2-spring-plugin-x-x-x.jar,这个包是同 Struts2一起发布的。Spring插件是通过覆盖(override)Struts2的ObjectFactory来增强核心框架对象的创建。当创 建一个对象的时候,它会用Struts2配置文件中的class属性去和Spring配置文件中的id属性进行关联,如果能找到,则由 Spring创建,否则由Struts2框架自身创建,然后由Spring来装配。
Spring插件具体有如下几个作用:
1.允许Spring创建Action、Interceptror和Result。
2. 由Struts创建的对象能够被Spring装配。
3.如果没有使用Spring ObjectFactory,提供了2个拦截器来自动装配action。
相关推荐
struts2+spring整合登陆验证经典完整案例!期余JAR文件在struts2+spring整合登陆验证经典完整案例!(JAR)这个中,免积分下载! 部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句...
struts2+spring整合登陆验证经典完整案例!这个文件和 "struts2+spring整合登陆验证经典完整案例"一起下载使用,由于CSDN资源大小限制,分成两个部分,这个部分都是.jar文件,免积分下载!
Struts2+Spring整合所需jar包(13个Struts2+6个Spring+1个整合包)
Struts2+Hibernate+Spring整合开发深入剖析与范例应用03源码
struts2+spring整合例子,源代码,电子书
Struts 2+Hibernate+Spring整合开发技术详解sample.pdf
Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
Struts2+Hibernate+Spring整合后的增删改查 内有jar包,每个类中都有注释。清晰简单。一目了然。没有任何杂乱代码。 运行正常,数据库是mysql数据库。适合初学者参考。
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2
Struts2+Spring简单整合 初学者可以跟这来搭建struts2+spring 开发环境 搭建步骤请阅此http://blog.csdn.net/kyle8525_nsn/article/details/8664901
struts2+spring2.5+hibernate3.2整合完整项目,带数据库脚本 ,mysql,tomcat,myeclipse完整工程
轻量级Java EE企业应用实战(第4版) Struts 2+Spring 4+Hibernate整合开发 光盘 源码 2014 李刚
《轻量级Java EE企业应用实战:Struts2+Spring4+Hibernate整合开发(第4版)》是《轻量级Java EE企业应用实战》的第4版,第4版保持了前几版内容全面、深入的特点,主要完成全部知识的升级。 《轻量级Java EE企业...
struts2 + spring 3 + hibernate3.3整合实现图书馆管理系统登陆和注册,以及一个对书籍表的增删改查,分页显示。
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1
struts2 + spring + ibatis 整合例子,仓库:search.maven.org
struts2+spring整合的一个例子,实现查询功能,不需要数据库,代码很齐全,配置得比较专业,可以作为学习Spring 的很好的参考例子。
Struts2+Hibernate+Spring整合教程
有关Struts2+Spring+Hibernate和Struts2+Spring+Ibatis的整合实例demo 原创,完全基于eclipse开发