首页 > 代码库 > s2sh框架整合详细配置-xml方式

s2sh框架整合详细配置-xml方式

s2sh整合之xml方式

说明:本文档所采用的框架版本为:Struts 2.1.8, Sping2.5.5,  Hibernate 3.5.6

1.    需要的jar包:

------------Strut2-----------:

commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

commons-logging.jar

freemarker-2.3.15.jar

ognl-2.7.3.jar

struts2-core-2.1.8.1.jar

struts2-spring-plugin-2.1.8.1.jar

xwork-core-2.1.6.jar

-------------Spring---------------:

aspectjrt.jar

aspectjweaver.jar

cglib-nodep-2.1_3.jar

common-annotations.jar

commons-lang.jar

commons-logging.jar

spring.jar

-----------Hibernate------------:

antlr-2.7.6.jar

commons-collections-3.1.jar

dom4j-1.6.1.jar

hibernate-annotations.jar

hibernate-commons-annotations.jar

hibernate3.jar

javassist-3.9.0.GA.jar

jta-1.1.jar

slf4j-api-1.5.8.jar

slf4j-log4j12.jar

------------other-----------------

c3p0-0.9.1.2.jar

json-lib-2.1.jar

jstl.jar

junit.jar

log4j-1.2.15.jar

mysql-connector-java-5.1.10-bin.jar

standard.jar

2.    web.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xmlns="http://java.sun.com/xml/ns/javaee"

   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5">

 <!-- spring config begin -->

 <context-param>

   <param-name>contextConfigLocation</param-name>

   <param-value>classpath:spring/applicationContext.xml</param-value>

 </context-param>

 <listener>

   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

 </listener>

 <!-- spring config end-->

 <filter>

   <filter-name>Spring character encoding filter</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>

 <filter-mapping>

   <filter-name>Spring character encoding filter</filter-name>

   <url-pattern>/*</url-pattern>

 </filter-mapping>

 

 <filter>

   <filter-name>OpenSessionInViewFilter</filter-name>

   <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

 </filter>

 <filter-mapping>

   <filter-name>OpenSessionInViewFilter</filter-name>

   <url-pattern>*.action</url-pattern>

 </filter-mapping>

 <!-- struts config begin-->

 <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>/*</url-pattern>

 </filter-mapping>

 <!-- struts config end-->

 <welcome-file-list>

   <welcome-file>login.jsp</welcome-file>

 </welcome-file-list>

</web-app>

3.    applicationContext.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xmlns:context="http://www.springframework.org/schema/context"

   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-2.5.xsd

          http://www.springframework.org/schema/context

          http://www.springframework.org/schema/context/spring-context-2.5.xsd

          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd

          http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

  

   <import resource="applicationContext-db.xml"/>

   <!-- dao service 默认使用单例 -->

   <beanid="userDao"class="cn.s2sh.demo.dao.impl.UserDaoImpl">

      <propertyname="sessionFactory"ref="sessionFactory"></property>

   </bean>

   <beanid="userService"class="cn.s2sh.demo.service.impl.UserServiceImpl">

      <propertyname="userDao"ref="userDao"/>

   </bean>

   <!-- action 不能使用单例,设置scope="prototype"  -->

   <beanid="userAction"class="cn.s2sh.demo.struts2.action.UserAction"scope="prototype">

      <propertyname="userService"ref="userService"></property>

   </bean>

</beans>

4.    applicationContext-db.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xmlns:context="http://www.springframework.org/schema/context"

   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-2.5.xsd

          http://www.springframework.org/schema/context

           http://www.springframework.org/schema/context/spring-context-2.5.xsd

          http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsd

          http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

   <beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

      <propertyname="configLocation">

          <value>classpath:hibernate/hibernate.cfg.xml</value>

      </property>

   </bean>

   <beanid="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

      <propertyname="sessionFactory">

          <refbean="sessionFactory"/>

      </property>

   </bean>

   <tx:advicetransaction-manager="transactionManager"id="tx">

      <tx:attributes>

          <tx:methodname="save*"read-only="false"/>

          <tx:methodname="delete*"read-only="false"/>

          <tx:methodname="update*"read-only="false"/>

          <tx:methodname="*"read-only="true"/>

      </tx:attributes>

   </tx:advice>

   <aop:config>

      <aop:pointcutexpression="execution(*cn.s2sh.demo.service.impl.*.*(..))"id="perform"/>

      <aop:advisoradvice-ref="tx"pointcut-ref="perform"/>

   </aop:config>

</beans>

5.    hibernate.cfg.xml

<?xmlversion=‘1.0‘encoding=‘UTF-8‘?>

<!DOCTYPEhibernate-configurationPUBLIC

          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

 

<!-- Generated by MyEclipse HibernateTools.                   -->

<hibernate-configuration>

 

<session-factory>

   <propertyname="dialect">

      org.hibernate.dialect.MySQLDialect

   </property>

   <propertyname="connection.url">jdbc:mysql://localhost:3306/s2shdemo</property>

   <propertyname="connection.username">root</property>

   <propertyname="connection.password">root</property>

   <propertyname="connection.driver_class">

      com.mysql.jdbc.Driver

   </property>

   <propertyname="myeclipse.connection.profile">MySQL</property>

   <propertyname="hbm2ddl.auto">update</property>

   <propertyname="show_sql">true</property>

  

   <mappingresource="cn/s2sh/demo/domain/User.hbm.xml"/>

 

</session-factory>

</hibernate-configuration>

6.    struts.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEstrutsPUBLIC

   "-//Apache Software Foundation//DTD StrutsConfiguration 2.1.7//EN"

   "http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>

   <!-- 开发模式下使用,这样可以打印出更详细的错误信息 ,默认值为false -->

   <constantname="struts.devMode"value="true"/>

   <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->

   <constantname="struts.serve.static.browserCache"value="false"/>

   <!-- 默认的视图主题 simple模式减少多余代码的生成 -->

   <constantname="struts.ui.theme"value="simple"/>

   <!-- 指定Web应用的默认编码集,相当于调用setCharacterEncoding方法 -->

   <constantname="struts.i18n.encoding"value="UTF-8"/>

   <constantname="struts.custom.i18n.resources"

        value="cn.s2sh.action.token"></constant>

   <!-- struts的请求委托给spring管理,

           作用:创建Action实例的过程由spring处理,其他的还是由struts2自己处理 -->

  <constantname="struts.objectFactory"value="spring"/>

  

  <packagename="user"namespace="/"extends="struts-default">

      <actionname="userAction_*"class="userAction"method="{1}">

         <resultname="login">login.jsp</result>

         <resultname="index">index.jsp</result>

         <resultname="listAction">WEB-INF/jsp/user/list.jsp</result>

         <resultname="action2action"type="redirectAction">userAction_getAllUser</result>

         <resultname="addUI">WEB-INF/jsp/user/saveUI.jsp</result>

         <resultname="updateUI">WEB-INF/jsp/user/updateUI.jsp</result>

      </action>

  </package>

</struts>

 

下载完整demo: http://download.csdn.net/detail/rchm8519/7513457