(1)web.xml中的主要配置
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<!-- 加载配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml,classpath:springBean.xml</param-value>
</context-param>
<!-- log4j文件的位置 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- 字符集进行过滤 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<!-- struts拦截 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 加载log4j -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 设置session的存活时间30min -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
(2)spring中的主要配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!--加载properties文件 -->
<bean id="loadProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>
<!-- 将hibernate交由spring管理 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<property name="initialSize" value="${initialSize}"></property>
<property name="maxWait" value="${maxWait}"></property>
<property name="maxIdle" value="${maxIdle}"></property>
<property name="maxActive" value="${maxActive}"></property>
</bean>
<!-- 产生sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServer2008Dialect</prop>
<prop key="show_sql">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/ssh/pojo/studentInfo.hbm.xml</value>
<value>com/ssh/pojo/studentClass.hbm.xml</value>
<value>com/ssh/pojo/user.hbm.xml</value>
</list>
</property>
</bean>
<!-- 配置一个hibernateTempate -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- spring aop的配置 -->
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
<property name="nestedTransactionAllowed" value="true"></property>
</bean>
<!-- 配置一个事务 -->
<tx:advice id="advice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" rollback-for="Exception" />
</tx:attributes>
</tx:advice>
<tx:advice id="advice1" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="NESTED" rollback-for="Exception" />
</tx:attributes>
</tx:advice>
<!--配置一个切面并织入 -->
<aop:config proxy-target-class="true">
<aop:pointcut expression="execution(* com.ssh.dao.*.add*(..))"
id="myPointcut" />
<aop:pointcut expression="execution(* com.ssh.IDao.*.add*(..))"
id="myPointcut1" />
<aop:advisor advice-ref="advice" pointcut-ref="myPointcut" />
<aop:advisor advice-ref="advice1" pointcut-ref="myPointcut1" />
</aop:config>
<import resource="springBean.xml" />
<import resource="springJMS.xml" />
</beans>
(3)struts主要配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 配置文件修改时自动加载 -->
<constant name="struts.devMode" value="true"></constant>
<!-- action的后缀 -->
<constant name="struts.action.extension" value="html"></constant>
<include file="struts-parent.xml"></include>
<package name="testPackage" namespace="/test" extends="struts-parent">
<action name="test" class="com.ssh.action.TestAction" method="getStudentInfo"></action>
</package>
<package name="redirectPackage" extends="struts-parent" namespace="/redirect">
<action name="*Redirect" method="go" class="com.ssh.action.UserAction">
<param name="path">${1}</param>
<result>/page/{1}.jsp</result>
</action>
</package>
<package name="userPackage" extends="struts-parent" namespace="/user">
<action name="login" method="login" class="com.ssh.action.UserAction">
<result name="input">/page/login.jsp</result>
<result>/page/success.jsp</result>
</action>
</package>
</struts>
struts-parent.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="struts-parent" extends="struts-default,json-default" abstract="true"></package>
</struts>