当前位置: 代码迷 >> J2EE >> javaWeb项目整合Spring
  详细解决方案

javaWeb项目整合Spring

热度:776   发布时间:2013-12-08 22:22:17.0

1、web直接与spring整合使用通用配置:

web.xml 文件中声明一个 ContextLoaderListener

并且在同一文件里增加一个 contextConfigLocation <context-param/> , 这个声明决定了哪些 Spring XML 配置文件会被加载。

以下是 <listener/> 的配置:

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

要求servlet api 2.4以下是context的配置。

<context-param> <param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/applicationContext*.xml</param-value>

</context-param>

多个配置文件以空格或者逗号区分。

2、Struts1.x与spring集成在struts-config.xml 里面添加如下片段。

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">

<set-property property="contextConfigLocation" value="/WEB-INF/action-servlet.xml,/WEB-INF/applicationContext.xml"/>

</plug-in>

这是必须的步骤。下面的两种方案选择一个即可。

1)用 Spring 的DelegatingRequestProcessor重载 Struts 默认的 RequestProcessor

2)将 <action-mapping> type 属性设为 DelegatingActionProxy。使用第1种方法。如果使用 Struts 的 modules 特性,则 bean 命名必须含有 module 的前缀。 举个例子,如果一个 Action 的定义为 <action path="/user"/>,而且它的 module 前缀为“admin”,那么它应该对应名为 <bean name="/admin/user"/> 的 bean。

如果你有一个自定义的 RequestProcessor 并且不能够使用 DelegatingRequestProcessor 或者

DelegatingTilesRequestProcessor,你可以使用 DelegatingActionProxy 作为你

action-mapping 中的类型。

  相关解决方案