`
scorpiomiracle
  • 浏览: 263747 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SSH整合系列2--在Struts2.1.8.1中整合Spring3.0.3

阅读更多
由于Spring3.0的版本与以前的版本是一个重大的分割点。所以有很多变化,这里仅仅阐述整合的方法,不研究其新的使用方法。

1.引入spring的jar包
2.创建Spring的配置文件
3.整合Struts2和Spring3.0
 3.1.Usage(使用),配置目标工厂为Spring。
 3.2.Autowiring(自动装配),配置监听器


1.引入spring的必需 jar包
将\dist文件夹下所有jar包复制到lib文件夹下。
由于3.0版本和以前的版本有很大的不同,包结构也不一样,不会再提供spring.jar这个完整包了,由于没有查到哪些包是必须的,测试一些包后也依然报错,就暂时将其全部考进来了 -_-

2.创建Spring的配置文件
Spring的org.springframework.web.context.ContextLoaderListener监听器默认读取的是WEB-INF目录下的applicationContext.xml。
如果需要加载其它配置文件,或者放在了其它路径,则需要在web.xml中进行如下配置:
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>

说明:
a.这部分代码来自Apache官网Struts项目的Documentation。在Struts项目的首页点击Documentation下Struts的最新版本,然后就会出现三个巨大的按钮,Download Now,Get Started,Plugin Registry,其中Get Started会教你如何使用Struts,而Plugin Registry则会教你如何注册各种插件。点击进入后就会在Plugins栏目中看到在struts中使用各种插件方法的超链接,点击Spring Plugin进入使用spring的说明页面,点击链接后就会看到使用的详细的方法。----这是一个好的学习技巧。
b.上面的classpath就是.java文件编译成的.class文件所在的位置,即/WEB-INF/classes文件夹。另外,写上.xml文件的全称也可以啊。
其实,可以从Struts2源码包的例子工程中拷贝一份applicationContext.xml放到WEB-INF目录下,然后只留下文件头就可以了,主要就是DTD。

3.整合Struts2和Spring3.0
本方法依然取自Apache网站,更加详细的说明请参见Apache网站。
3.1.Usage(使用):
引入struts提供的包struts2-spring-plugin-xxx.jar即可。
如果使用了多个object factory,还必须进行如下配置:
由于struts同时支持.properties和.xml配置文件,选择其一即可。
struts.properties:
struts.objectFactory = org.apache.struts2.spring.StrutsSpringObjectFactory

struts.xml:
<struts>
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
  ... 
</struts>

3.2.Autowiring(自动装配):
在web.xml配置spring的监听器。
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

这一监听器主要是提供spring的自动装配功能,默认是依靠名字自动装配,可以在<bean>或<beans>标签中更改default-autowire属性,一般就是byName。此外也可以在struts.properties中作为整体配置修改struts.objectFactory.spring.autoWire = name/type/auto/constructor。



分享到:
评论
1 楼 xyzroundo 2010-04-02  
 

相关推荐

    thymeleaf-spring4-3.0.3.RELEASE-API文档-中文版.zip

    赠送jar包:thymeleaf-spring4-3.0.3.RELEASE.jar; 赠送原API文档:thymeleaf-spring4-3.0.3.RELEASE-javadoc.jar; 赠送源代码:thymeleaf-spring4-3.0.3.RELEASE-sources.jar; 包含翻译后的API文档:...

    linux环境vsftpd安装包-vsftpd-3.0.3-32.el8.aarch64.rpm

    linux环境vsftpd安装包-vsftpd-3.0.3-32.el8.aarch64.rpm

    vsftpd-3.0.3-33.el8.x86_64.rpm

    FTP服务器安装软件,使用RPM命令进行安装即可

    vsftpd-3.0.3-34.el8.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    apache-maven-3.0.3-bin.tar.gz

    Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而...apache-maven-3.0.3-bin.tar.gz

    jakarta.el-3.0.3-API文档-中文版.zip

    赠送原API文档:jakarta.el-3.0.3-javadoc.jar; 赠送源代码:jakarta.el-3.0.3-sources.jar; 赠送Maven依赖信息文件:jakarta.el-3.0.3.pom; 包含翻译后的API文档:jakarta.el-3.0.3-javadoc-API文档-中文(简体)...

    thymeleaf-spring4-3.0.3.RELEASE-API文档-中英对照版.zip

    赠送jar包:thymeleaf-spring4-3.0.3.RELEASE.jar; 赠送原API文档:thymeleaf-spring4-3.0.3.RELEASE-javadoc.jar; 赠送源代码:thymeleaf-spring4-3.0.3.RELEASE-sources.jar; 包含翻译后的API文档:...

    vsftpd-3.0.3-edit.tar.gz.tar

    (2)错误提示:/lib/libcap.so.2:could not read symbols: File in wrong format 解决措施:修改vsffindlibs.sh,屏蔽掉50-60行 (3)错误提示:sysdeputil.c:(.text+0xdcc):undefined reference to `crypt' 解决措施:...

    thymeleaf-3.0.3.RELEASE-API文档-中文版.zip

    赠送jar包:thymeleaf-3.0.3.RELEASE.jar; 赠送原API文档:thymeleaf-3.0.3.RELEASE-javadoc.jar; 赠送源代码:thymeleaf-3.0.3.RELEASE-sources.jar; 包含翻译后的API文档:thymeleaf-3.0.3.RELEASE-javadoc-...

    flask-3.0.3-py3-none-any.whl.zip

    2. **找到Wheel文件**: 在解压缩后的文件夹中,你会看到"flask-3.0.3-py3-none-any.whl"。 3. **确保Python环境**: 首先确保你有一个Python 3.x环境,并已安装了pip。 4. **安装Flask**: 打开命令行界面,导航到含有...

    unlocker-3.0.3-with-macos-带说明.zip

    2.复制unlocker-3.0.3-with-macos/tools文件夹的两个东西到vmware的安装目录下,包括 darwin.iso darwinPre15.iso 3.关掉vmware软件 4.桌面计算机 右键,管理,服务,停止所有的vmware服务(最少4个vmware开头的)...

    jakarta.el-3.0.3-API文档-中英对照版.zip

    赠送原API文档:jakarta.el-3.0.3-javadoc.jar; 赠送源代码:jakarta.el-3.0.3-sources.jar; 赠送Maven依赖信息文件:jakarta.el-3.0.3.pom; 包含翻译后的API文档:jakarta.el-3.0.3-javadoc-API文档-中文(简体)-...

    J2EE项目开发常用Jar包.zip

    org.springframework.web.struts-3.0.3.RELEASE.jar org.springframework.aop-3.0.3.RELEASE.jar org.springframework.asm-3.0.3.RELEASE.jar org.springframework.aspects-3.0.3.RELEASE.jar org.spring...

    neethi-3.0.3-API文档-中文版.zip

    赠送原API文档:neethi-3.0.3-javadoc.jar; 赠送源代码:neethi-3.0.3-sources.jar; 赠送Maven依赖信息文件:neethi-3.0.3.pom; 包含翻译后的API文档:neethi-3.0.3-javadoc-API文档-中文(简体)版.zip; Maven...

    vsftpd-3.0.3.tar.gz

    在这个例子中,它很可能只包含了一个条目,即vsftpd-3.0.3.tar.gz的MD5值。 详细讲解vsftpd: 1. **功能**:vsftpd提供了基本的FTP服务,如匿名登录、本地用户登录、CHROOT隔离等,同时支持SSL/TLS加密,确保数据...

    scala-intellij-bin-2016.3.9

    2. **插件本身**:包含用于在IntelliJ IDEA中集成Scala开发环境的代码和配置文件。这些文件使得IDE能够理解Scala语法,提供代码高亮、跳转到定义、代码格式化等特性。 3. **Scala文档**:可能包含Scala语言的官方...

    kryo-shaded-3.0.3-API文档-中文版.zip

    赠送原API文档:kryo-shaded-3.0.3-javadoc.jar; 赠送源代码:kryo-shaded-3.0.3-sources.jar; 赠送Maven依赖信息文件:kryo-shaded-3.0.3.pom; 包含翻译后的API文档:kryo-shaded-3.0.3-javadoc-API文档-中文...

    kryo-shaded-3.0.3-API文档-中英对照版.zip

    赠送原API文档:kryo-shaded-3.0.3-javadoc.jar; 赠送源代码:kryo-shaded-3.0.3-sources.jar; 赠送Maven依赖信息文件:kryo-shaded-3.0.3.pom; 包含翻译后的API文档:kryo-shaded-3.0.3-javadoc-API文档-中文...

    mybatis-3.0.3-SNAPSHOT-bundle.zip

    在`mybatis-3.0.3-SNAPSHOT`这个压缩包中,我们通常会找到以下组件: 1. **mybatis-3.0.3-SNAPSHOT.jar**:这是MyBatis的核心库,包含了所有必要的类和接口,如SqlSession, SqlSessionFactory, Executor等,它们是...

    unlocker-3.0.3.zip

    在本压缩包"unlocker-3.0.3.zip"中,包含了"最新下载地址.txt",这可能是指向Unlocker源代码或更新版本的链接,以及"unlocker-master"文件夹,这通常包含Unlocker的源代码和构建脚本。 要使用Unlocker,首先需要...

Global site tag (gtag.js) - Google Analytics