文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>s2sh整合配置文件--1

s2sh整合配置文件--1

时间:2010-08-19  来源:wangji914

S2SH(Struts2 + Spring + Hibernate)整合配置文件--1

 

1.web.xml文件配置如下:

 

Web.xml代码 
<?xml version="1.0" encoding="UTF-8"?>   
<web-app version="2.4"    
    xmlns="http://java.sun.com/xml/ns/j2ee"    
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   
  
 <!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找 -->   
    <context-param>   
       <param-name>contextConfigLocation</param-name>   
       <param-value>classpath:applicationContext-hibernate.xml</param-value>   
    </context-param>   
    
    <!-- 对Spring容器进行实例化,并把实例存放在application的属性里 -->   
    <listener>   
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
    </listener>   
  
    <!-- 配置字符编码过滤器(解决乱码问题) -->    
    <filter>   
    <filter-name>encoding</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>encoding</filter-name>   
        <url-pattern>/*</url-pattern>   
    </filter-mapping>    
       
    <!-- 解决因session关闭而导致的延迟加载例外的问题 -->   
    <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>/*</url-pattern>   
    </filter-mapping>   
  
    <!-- 配置Struts2的过滤器-->   
    <filter>   
           <filter-name>struts2</filter-name>   
             <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>   
     </filter>   
   <filter-mapping>   
          <filter-name>struts2</filter-name>   
             <url-pattern>/*</url-pattern>   
    </filter-mapping>     
     
  <welcome-file-list>   
    <welcome-file>index.jsp</welcome-file>   
  </welcome-file-list>   
</web-app>  
 

2.struts.xml配置如下: 

 

Struts.xml代码 
<?xml version="1.0" encoding="UTF-8" ?>   
<!DOCTYPE struts PUBLIC   
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
    "http://struts.apache.org/dtds/struts-2.0.dtd">   
<struts>   
   <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。   
    如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 -->   
    <constant name="struts.action.extension" value="do"/>   
    <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->   
    <constant name="struts.serve.static.browserCache" value="false"/>   
    <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->   
    <constant name="struts.configuration.xml.reload" value="true"/>   
    <!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->   
    <constant name="struts.devMode" value="true" />   
     <!-- 默认的视图主题 -->   
    <constant name="struts.ui.theme" value="simple" />   
    <constant name="struts.objectFactory" value="spring"/>   
  
    <package name="xwuxin" namespace="/person" extends="struts-default">   
        <global-results>   
            <result name="message">/WEB-INF/page/message.jsp</result>   
        </global-results>   
        <action name="list" class="personListAction">   
            <result name="list">/WEB-INF/page/persons.jsp</result>   
        </action>   
        <action name="manage_*" class="personManageAction" method="{1}">   
            <result name="add">/WEB-INF/page/addperson.jsp</result>   
        </action>   
    </package>   
</struts>  
 

3.applicationContext-hibernate.xml配置如下:

 

applicationContext-hibernate.xml代码 
<?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: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/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">   
       
    <context:annotation-config/>    
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">   
        <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>   
        <property name="url" value="jdbc:mysql://localhost:3306/ss2h?useUnicode=true&characterEncoding=UTF-8"/>   
        <property name="username" value="root"/>   
        <property name="password" value="chx/1988" />   
         <!-- 连接池启动时的初始值 -->   
         <property name="initialSize" value="1"/>   
         <!-- 连接池的最大值 -->   
         <property name="maxActive" value="500"/>   
         <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接释放一部分,一直减少到maxIdle为止 -->   
         <property name="maxIdle" value="2"/>   
         <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请一些连接,以避免洪峰来时再申请而造成的性能开销 -->   
         <property name="minIdle" value="1"/>   
    </bean>   
       
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">   
         <property name="dataSource" ref="dataSource"/>   
         <property name="mappingResources">   
            <list>   
              <value>cn/itcast/bean/Person.hbm.xml</value>   
            </list>   
         </property>   
         <property name="hibernateProperties">   
            <value>   
                hibernate.dialect=org.hibernate.dialect.MySQL5Dialect   
                hibernate.hbm2ddl.auto=update   
                hibernate.show_sql=false   
                hibernate.format_sql=false   
                hibernate.cache.use_second_level_cache=true   
                hibernate.cache.use_query_cache=false   
                hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider   
              </value>   
        </property>   
    </bean>   
  
    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
        <property name="sessionFactory" ref="sessionFactory"/>   
    </bean>   
       
    <aop:config>   
        <aop:pointcut id="tran" expression="execution(* cn.itcast.service..*.*(..))"/>   
        <aop:advisor advice-ref="txAdvice" pointcut-ref="tran"/>   
    </aop:config>   
    <tx:advice id="txAdvice" transaction-manager="txManager">   
          <tx:attributes>   
            <tx:method name="get*" read-only="true" propagation="NOT_SUPPORTED"/>   
            <tx:method name="*"/>   
          </tx:attributes>   
    </tx:advice>   
       
    <bean id="personService" class="cn.itcast.service.impl.PersonServiceBean"/>   
    <bean id="personListAction" class="cn.itcast.action.PersonListAction" scope="prototype"/>   
    <bean id="personManageAction" class="cn.itcast.action.PersonManageAction" scope="prototype"/>   
       
</beans>  
 

4.ehcache.xml配置如下:

 

Ehcache.xml代码 
<?xml version="1.0" encoding="UTF-8"?>   
<!--    
    defaultCache节点为缺省的缓存策略   
     maxElementsInMemory 内存中最大允许存在的对象数量   
     eternal 设置缓存中的对象是否永远不过期   
     overflowToDisk 把溢出的对象存放到硬盘上   
     timeToIdleSeconds 指定缓存对象空闲多长时间就过期,过期的对象会被清除掉   
     timeToLiveSeconds 指定缓存对象总的存活时间   
     diskPersistent 当jvm结束是是否持久化对象   
     diskExpiryThreadIntervalSeconds 指定专门用于清除过期对象的监听线程的轮询时间   
 -->   
<ehcache>   
    <diskStore path="D:\cache"/>   
    <defaultCache maxElementsInMemory="1000" eternal="false" overflowToDisk="true"  
        timeToIdleSeconds="120"  
        timeToLiveSeconds="180"  
        diskPersistent="false"  
        diskExpiryThreadIntervalSeconds="60"/>   
           
    <cache name="cn.itcast.bean.Person" maxElementsInMemory="100" eternal="false"  
    overflowToDisk="true" timeToIdleSeconds="300" timeToLiveSeconds="600" diskPersistent="false"/>   
</ehcache>   

 

5.Person.hbm.xml配置文件如下:

 

Person.hbm.xml代码 
<?xml version="1.0" encoding="UTF-8"?>   
<!DOCTYPE hibernate-mapping PUBLIC   
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">   
<hibernate-mapping package="cn.itcast.bean">   
    <class name="Person" table="person">   
        <cache usage="read-write" region="cn.xwuxin.bean.Person"/>   
        <id name="id">   
            <generator class="native"/>   
        </id>   
        <property name="name" length="10" not-null="true"/>   
    </class>   
</hibernate-mapping>  
相关阅读 更多 +
排行榜 更多 +
地狱摩托游戏最新版下载

地狱摩托游戏最新版下载

赛车竞速 下载
小猫快来钓鱼游戏下载

小猫快来钓鱼游戏下载

休闲益智 下载
殴打氪金大佬昊天手游下载

殴打氪金大佬昊天手游下载

休闲益智 下载