实现Spring与Struts 2集成

实现Spring与Struts 2集成

如何实现Spring与Struts 2框架的集成呢?其实非常简单,这是因为Struts 2框架主要是通过插件来实现对其他框架的支持。

Spring框架与Struts 2框架的集成过程非常简单,因为Struts 2框架中已经提供了关于Spring框架的插件。对于Struts 2框架中所有的插件,其实就是一些名称不同的JAR文件,一般以"Struts2-框架名-plugin-版本号"的方式命名。同理,关于Spring框架的插件也不例外。

下载了关于Struts-2.2.3的完整开发包后,就可以在该开发包的lib文件夹下中找到struts2-spring-plugin-2.2.3.jar插件。当对该JAR文件解压后就会发现里面包含了一个名为struts-plugin.xml的XML文件,如图10.25所示。通过修改该文件,可以实现一些特殊功能:定义新包和新的结果类型、覆盖Struts 2框架中的常量、自定义拦截器、改变默认的拦截器的引用和引入扩展点的实现类。

注意:对于struts-plugin.xml和struts.xml配置文件,Struts 2框架首先加载的是struts- plugin.xml配置文件,其次才是struts.xml配置文件。

如何在Spring和Struts 2框架集成的项目中安装关于Sping框架的插件呢?一般分为以下两个步骤。

首先将关于Spring框架的插件复制到项目的classpath下,即先复制插件的JAR文件到项目名称\WebRoot\lib目录下,然后用鼠标右键单击该文件,在弹出的快捷菜单中选择"Build Path>Add to Build Path"命令就会把该文件转移到classpath下,如同10.26所示。

 
图10.25  struts-plugin文件
 
图10.26  添加JAR文件


接着修改web.xml配置文件,使该项目能够监听Spring框架,没有配置Spring框架时内容如下:

  
  
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. …  
  3.     <filter>                                    <!--配置Struts 2过滤器--> 
  4.         <filter-name>struts2</filter-name> 
  5.         <filter-class> 
  6.             org.apache.struts2.dispatcher.FilterDispatcher  
  7.         </filter-class> 
  8.     </filter> 
  9.     <filter-mapping>                           <!--配置Struts 2过滤器映射--> 
  10.         <filter-name>struts2</filter-name> 
  11.         <url-pattern>/*</url-pattern> 
  12.     </filter-mapping> 
  13. </web-app> 
配置Spring框架后的内容如下:
  
  
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. …  
  3.     <filter>                                      <!--配置Struts 2过滤器--> 
  4.         <filter-name>struts2</filter-name> 
  5.         <filter-class> 
  6.             org.apache.struts2.dispatcher.FilterDispatcher  
  7.         </filter-class> 
  8.     </filter> 
  9.     <filter-mapping>                             <!--配置Struts 2过滤器映射--> 
  10.         <filter-name>struts2</filter-name> 
  11.         <url-pattern>/*</url-pattern> 
  12.     </filter-mapping> 
  13.     <listener>                                  <!--关于Sping框架的监听--> 
  14.         <listener-class> 
  15.             org.springframework.web.context.ContextLoaderListener  
  16.         </listener-class> 
  17.     </listener> 
  18. …  
  19. </web-app> 
注意:在没有配置Spring框架时,Struts 2中的Action都是在struts.xml中声明的,但是当使用Spring框架后,这些Action对象的实例化过程就会由该框架实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值