1.WEB.XML的配置:
首先在web.xml中加入:
Java代码
  1. <servlet>  
  2.   <servlet-name>SpringContextServlet</servlet-name>  
  3.   <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>  
  4.   <load-on-startup>1</load-on-startup>  
  5. </servlet>  
  <servlet>
    <servlet-name>SpringContextServlet</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>


我的整个web.xml象这样:
Java代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
  3. <web-app>  
  4.   <display-name>info_web</display-name>  
  5.   <context-param>  
  6.     <param-name>contextConfigLocation</param-name>  
  7.     <param-value>/WEB-INF/applicationContext-hibernate.xml</param-value>  
  8.   </context-param>  
  9.   <filter>  
  10.     <filter-name>SetCharacterEncoding</filter-name>  
  11.     <filter-class>iclass.util.SetEncodingFilter</filter-class>  
  12.     <init-param>  
  13.       <param-name>encoding</param-name>  
  14.       <param-value>GBK</param-value>  
  15.     </init-param>  
  16.   </filter>  
  17.   <filter>  
  18.     <filter-name>FilterRedirector</filter-name>  
  19.     <filter-class>org.apache.cactus.server.FilterTestRedirector</filter-class>  
  20.   </filter>  
  21.   <filter-mapping>  
  22.     <filter-name>SetCharacterEncoding</filter-name>  
  23.     <url-pattern>/*</url-pattern>  
  24.   </filter-mapping>  
  25.   <filter-mapping>  
  26.     <filter-name>FilterRedirector</filter-name>  
  27.     <url-pattern>/FilterRedirector</url-pattern>  
  28.   </filter-mapping>  
  29.   <servlet>  
  30.     <servlet-name>SpringContextServlet</servlet-name>  
  31.     <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>  
  32.     <load-on-startup>1</load-on-startup>  
  33.   </servlet>  
  34.   <servlet>  
  35.     <servlet-name>ServletRedirector</servlet-name>  
  36.     <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>  
  37.   </servlet>  
  38.   <servlet>  
  39.     <servlet-name>JspRedirector</servlet-name>  
  40.     <jsp-file>/jspRedirector.jsp</jsp-file>  
  41.   </servlet>  
  42.   <servlet>  
  43.     <servlet-name>action</servlet-name>  
  44.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  45.     <init-param>  
  46.       <param-name>config</param-name>  
  47.       <param-value>/WEB-INF/struts-config.xml</param-value>  
  48.     </init-param>  
  49.     <init-param>  
  50.       <param-name>debug</param-name>  
  51.       <param-value>2</param-value>  
  52.     </init-param>  
  53.     <init-param>  
  54.       <param-name>application</param-name>  
  55.       <param-value>ApplicationResources</param-value>  
  56.     </init-param>  
  57.     <load-on-startup>2</load-on-startup>  
  58.   </servlet>  
  59.   <servlet-mapping>  
  60.     <servlet-name>ServletRedirector</servlet-name>  
  61.     <url-pattern>/ServletRedirector</url-pattern>  
  62.   </servlet-mapping>  
  63.   <servlet-mapping>  
  64.     <servlet-name>JspRedirector</servlet-name>  
  65.     <url-pattern>/JspRedirector</url-pattern>  
  66.   </servlet-mapping>  
  67.   <servlet-mapping>  
  68.     <servlet-name>action</servlet-name>  
  69.     <url-pattern>*.do</url-pattern>  
  70.   </servlet-mapping>  
  71.   <welcome-file-list>  
  72.     <welcome-file>index.jsp</welcome-file>  
  73.   </welcome-file-list>  
  74.   <taglib>  
  75.     <taglib-uri>/tags/struts-nested</taglib-uri>  
  76.     <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>  
  77.   </taglib>  
  78.   <taglib>  
  79.     <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>  
  80.     <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>  
  81.   </taglib>  
  82.   <taglib>  
  83.     <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>  
  84.     <taglib-location>/WEB-INF/struts-html.tld</taglib-location>  
  85.   </taglib>  
  86.   <taglib>  
  87.     <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>  
  88.     <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>  
  89.   </taglib>  
  90.   <taglib>  
  91.     <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>  
  92.     <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>  
  93.   </taglib>  
  94.   <taglib>  
  95.     <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>  
  96.     <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>  
  97.   </taglib>  
  98. </web-app>  
<?xml version="1.0" encoding="UTF-8"?>
<!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>
  <display-name>info_web</display-name>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext-hibernate.xml</param-value>
  </context-param>
  <filter>
    <filter-name>SetCharacterEncoding</filter-name>
    <filter-class>iclass.util.SetEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>GBK</param-value>
    </init-param>
  </filter>
  <filter>
    <filter-name>FilterRedirector</filter-name>
    <filter-class>org.apache.cactus.server.FilterTestRedirector</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>SetCharacterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>FilterRedirector</filter-name>
    <url-pattern>/FilterRedirector</url-pattern>
  </filter-mapping>
  <servlet>
    <servlet-name>SpringContextServlet</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>ServletRedirector</servlet-name>
    <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>JspRedirector</servlet-name>
    <jsp-file>/jspRedirector.jsp</jsp-file>
  </servlet>
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>application</param-name>
      <param-value>ApplicationResources</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletRedirector</servlet-name>
    <url-pattern>/ServletRedirector</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>JspRedirector</servlet-name>
    <url-pattern>/JspRedirector</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <taglib>
    <taglib-uri>/tags/struts-nested</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  </taglib>
</web-app>


2.spring配置
配置文件为applicationContext-hibernate.xml,在此配置文件中,配了POJO层,商业逻辑层,DAO层,和事务管理
Java代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
  3.   
  4. <beans>     
  5.     <!-- ========================= Start of PERSISTENCE DEFINITIONS ========================= -->    
  6.       
  7.     <!-- Choose the dialect that matches your "dataSource" definition -->  
  8.   
  9.     <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  10.         <property name="driverClassName">  
  11.             <value>org.gjt.mm.mysql.Driver</value>  
  12.         </property>  
  13.         <property name="url">  
  14.             <value>jdbc:mysql://localhost:3306/info_web?useUnicode=true&amp;characterEncoding=GBK</value>  
  15.         </property>  
  16.         <property name="username">  
  17.             <value>root</value>  
  18.         </property>  
  19.         <property name="password">  
  20.             <value>123456</value>  
  21.         </property>  
  22.     </bean>  
  23.       
  24.     <bean id="mySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">  
  25.         <property name="mappingResources">  
  26.             <list>  
  27.                 <value>infoweb/pojo/Answer.hbm.xml</value>  
  28.                 <value>infoweb/pojo/Board.hbm.xml</value>  
  29.                 <value>infoweb/pojo/Image.hbm.xml</value>  
  30.                 <value>infoweb/pojo/Info.hbm.xml</value>  
  31.             </list>  
  32.         </property>         
  33.           
  34.         <property name="hibernateProperties">  
  35.             <props>  
  36.                 <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>  
  37.                 <prop key="hibernate.show_sql">true</prop>  
  38.                 <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>  
  39.             </props>  
  40.         </property>     
  41.   
  42.         <property name="dataSource"><ref bean="myDataSource"/></property>  
  43.     </bean>  
  44.   
  45.   
  46.   
  47.     <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA); -->  
  48.     <bean id="myTransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">  
  49.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>  
  50.     </bean>  
  51.       
  52.   
  53.     <!-- ***** Board  SERVICE ***** -->  
  54.     <bean id="boardService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">    
  55.         <property name="transactionManager"><ref local="myTransactionManager"/></property>  
  56.         <property name="target"><ref local="boardServiceSpring"/></property>  
  57.         <property name="transactionAttributes">  
  58.             <props>  
  59.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly,-BoardException</prop>  
  60.                 <prop key="set*">PROPAGATION_REQUIRED,-BoardException</prop>  
  61.                 <prop key="modify*">PROPAGATION_REQUIRED,-BoardException</prop>  
  62.                 <prop key="remove*">PROPAGATION_REQUIRED,-BoardException</prop>  
  63.             </props>  
  64.         </property>  
  65.     </bean>  
  66.   
  67.     <!-- board primary business object implementation -->  
  68.     <bean id="boardServiceSpring" class="infoweb.service.BoardServiceSpringImpl">  
  69.         <property name="boardTreeDAO"><ref local="boardTreeDAO"/></property>  
  70.     </bean>  
  71.       
  72.   
  73.     <!-- DAO board: Hibernate implementation -->  
  74.     <bean id="boardTreeDAO" class="infoweb.dao.BoardTreeDAOImpl">  
  75.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>  
  76.     </bean>  
  77.   
  78.     <!-- DAO info: Hibernate implementation -->  
  79.     <bean id="infoDAO" class="infoweb.dao.InfoDAOImpl">  
  80.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>  
  81.     </bean>  
  82. </beans>