接着前一篇Spring+Hibernate完成后继续写,将Struts配置进Spring中
将Struts集成入Spring中,需要使用Spring来创建Struts的Action对象,将Action的类交给Spring控制
Action的配置,注意,此处Action使用name标签,该标签名字与Struts文件中path标签名相同,为了创建代理<bean name="/user" class="com.houlu.drp.web.actions.UserAction"> <property name="userService" ref="userService"/> </bean>
Service的配置
<bean id="userService" class="com.houlu.drp.usermgr.service.impl.UserService4SpringImpl"> <property name="userDao" ref="userDao"/> </bean>
Dao的配置
<bean id="userDao" class="com.houlu.drp.usermgr.dao.impl.UserDao4SqlServerImpl"> <property name="sessionFactory" ref="sessionFactory"/> </bean>
在Struts的配置文件中,action配置成相关代理,action的type属性不指向真正的action类,而是指向Spring对Action实现的代理类
<form-beans> <form-bean name="userForm" type="com.houlu.drp.web.forms.UserActionForm"/> </form-beans> <action-mappings> <action path="/user" type="org.springframework.web.struts.DelegatingActionProxy" name="userForm" scope="request" parameter="command" > <forward name="addUserPage" path="/sysmgr/user_add.jsp"/> <forward name="addUser" path="/user.do?command=listUser&pageNo=1" redirect="true"/> <forward name="addUserValidate" path="/sysmgr/user_add_validate.jsp"/> <forward name="delUser" path="/user.do?command=listUser&pageNo=1" redirect="true"/> <forward name="modifyUserPage" path="/sysmgr/user_modify.jsp"/> <forward name="modifyUser" path="/user.do?command=listUser&pageNo=1" redirect="true"/> <forward name="listUser" path="/sysmgr/user_maint.jsp"/> </action> </action-mappings>
- 在Web.xml启动文件中配置一个Listener,该Listener由Spring实现,用于创建Spring的Beanfactory
<!-- 配置用于建立Spring Beanfactory容器的Listener -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>