以下说明如何实现spring集成struts。
1、应用服务器没有直接调用启动Spring的方法,但是应用服务器编译运行servlet,filter,listener,所以spring提供一个listener类,在服务器初始化的时候调用该类中的方法,所以在容器中配置如下:
- < !-- 指定spring的配置文件,多个文件之间用逗号分隔 -->
- < context-param>
- < param-name>contextConfigLocation< /param-name>
- < param-value>classpath:beans.xml< /param-value>
- < /context-param>
- < !-- 启动Spring容器 -->
- < listener>
- < listener-class>org.springframework.web.context.ContextLoaderListener< /listener-class>
- < /listener>
2、我们把我们需要交给spring管理的类在beans.xml中配置:
如
- < bean name="/user/regist"
- class="cn.sun.ssh.web.action.UserManagerAction">
- < property name="dao" ref="userDAO">< /property>
- < /bean>
但是action是被引擎调用的,我们如何把需要的action交给引擎呢,通过重写struts中的requestprocessor类中的processactioncreate方法,在spring中获得action后交给引擎管理,这也是struts的一个扩展机制。
所以我们要在struts-config.xml中配置controller
- < controller>
- < set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
- < /controller>
这样就实现了Spring集成Struts。
【编辑推荐】