Spring对Struts的整合
来源:互联网 发布:淘宝返现怎么领取 编辑:程序博客网 时间:2024/04/25 23:57
Spring 容器自动加载的方式:
一、MVC框架负责创建ApplicationContext实例,并在MVC加载时自动创建Spring容器。Struts采用的这种机制。
二、web.xml文件中加载Spring容器。Spring自己的MVC就是采用的这种策略。
对于在web.xml中加载ApplicationContext有两种策略:
一、利用ServletContextListener实现
<!-- 加载多个配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml,/WEB-INF/bean.xml,/WEB-INF/action-servlet.xml</param-value>
</context-param>
<!-- 监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
二、采用load-on-startup Servlet实现
<!-- 加载多个配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml,/WEB-INF/bean.xml,/WEB-INF/action-servlet.xml</param-value>
</context-param>
<!--采用load-on-startup Servlet实现 -->
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
MVC框架负责创建ApplicationContext实例,并在MVC加载时自动创建Spring容器。由Spring IoC容器管理Action有两种方式(在struts-config.xml里配置):
一、使用DelegationRequestProcessor
在ActionServlet处将请求转发给ApplicationContext的bean
<!--加载多个配置文件-->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml,/WEB-INF/bean.xml,/WEB-INF/action-servlet.xml"/>
</plug-in>
<!--使用spring的RequestProcessor替换struts原有的RequestProcessor-->
<controller>
<set-property property="processorClass"
value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>
因为Struts会将拦截到的用户请求转发到Spring context下的bean,根据bean的name属性来匹配,所以无须配置type属性
<action path="/bookOperator"
type="com.ssh.book.struts.action.BookOperatorAction"
/>
<action path="/bookOperator" />
<!--Spring context下的bean-->
<bean name="/bookOperator" class="com.ssh.book.struts.action.BookOperatorAction" singleton="false">
<property name="bookBiz">
<ref bean="bookInfoBiz"/>
</property>
</bean>
因为每次请求时,都应启动新的action来处理用户请求,因此将action bean配置成非单例
因为是setter注入,所以还应配置setter方法
二、使用DelegationActionProxy,在Action处将请求转发给ApplicationContext的bean
只要去掉<controller>配置元素,必将所有的Action的实现类改为type="org.springframework.web.struts.DelegatingActionProxy"
- Spring对Struts的整合
- Spring对Struts的整合
- 对struts,ibatis,spring的整合
- SSI对struts、spring、ibatis三者的整合过程
- struts+hibernate+spring的整合
- struts和spring的整合
- Struts,Hibernate,Spring的整合
- struts和spring的整合!
- Struts与Spring的整合
- struts与spring的整合
- Struts、Spring、hibernate的整合
- struts与spring的整合
- spring与struts的整合
- spring与struts的整合
- Spring的一些理解;struts整合spring
- Spring对Hibernate的整合
- Spring对IBatis的整合
- Spring对CXF的整合
- ORACLE管理常用sql
- 欢迎认识编程爱好者
- linux内核及其目录结构
- web.xml详解
- ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件
- Spring对Struts的整合
- Hash Functions for Hash Table Lookup
- 人民币升值的背后阴谋(转)
- ssh
- 一步一步学Silverlight 2系列(1):创建一个基本的Silverlight应用
- 一步一步学Silverlight 2系列(2):基本控件
- struts学习笔记(很详细,欢迎补充)
- 一步一步学Silverlight 2系列(3):界面布局
- A Problem I Solved Last Night