以下只摘录主要配置信息
一:配置web.xml:
<!--Start Strust2-->
<filter>
<filter-name>Struts 2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts 2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--Start Spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- Log4j -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
注意点:1)<param-value>/WEB-INF/applicationContext.xml</param-value>代表spring的配置文件在web-inf目录下
2)<param-value>/WEB-INF/classes/log4j.properties</param-value>代表log4j的配置文件在java根目录src下,tomcat发布后在classes文件下
二:配置struts.xml
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="struts2" extends="struts-default">
<action name="login" class="loginAction">
<exception-mapping result="usernameInvalid"
exception="org.topCSA.s2s.exception.UsernameException" />
<exception-mapping result="passwordInvalid"
exception="org.topCSA.s2s.exception.PasswordException" />
<result name="success">/index.jsp</result>
<result name="input">/login.jsp</result>
<result name="usernameInvalid">/usernameInvalid.jsp</result>
<result name="passwordInvalid">/passwordInvalid.jsp</result>
</action>
</package>
</struts>
注意点:1)<constant name="struts.objectFactory" value="spring" />代表action由spring做控制,需要导入struts2-spring-plugin-2.0.11.2.jar包,不然会报找不到class的错误
2)<action name="login" class="loginAction">class属性的值与spring配置文件中的<Bean的name值一致>
三:配置spring的applicationContext.xml
<?xml version="1.0" encoding="GB2312"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean name="loginService"
class="org.topCSA.s2s.service.LoginService" />
<bean name="loginAction"
class="org.topCSA.s2s.action.LoginAction">
<property name="loginService">
<ref bean="loginService" />
</property>
</bean>
</beans>