Spring Struts 的整合
Struts工作原理:
HttpRequest-->AcionServlet-->(RequestProcessor<--->struts-config.xml)-->Acti
让spring管理Struts的切入点:替换Struts的自有RequestProcessor类
HttpRequest-->ActionServlet-->(DelegatingRequestProcessor<--->applicationContext.xml)-->Action
在struts-config.xml文件中加入controller节点,用以替换Struts自己的RequestProcessor
······</action-mappings>
<controller>
<set-property value="org.springframework.web.struts.DelegatingRequestProcessor"
property="processorClass" />
</controller>
······<message-resources>
添加Spring的插件到Struts中
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
将各个action标签中的type全部写为"org.springframework.web.struts.DelegatingActionProxy"
自此Struts的管理已经交由Spring处理,Action的生成也有Spring完成
将action的信息配置到Spring的applicationContext.xml文件中用IOC/DI注入生成Action代理对象
<bean name="/login" class="com.lovo.struts.action.LoginAction">
<property name="service">
<ref bean="Service" />
</property>
</bean>
注意这里的bean节点不能写id属性,因为需要填写路径字符串,而路径字符串不合Java命名规范,于是用name属性替代。里面填写该Action的访问路径