J2EE劍俠行

          直覺(jué)我的J2EE應(yīng)用生涯,打造我心中的一把利劍。

          常用鏈接

          統(tǒng)計(jì)

          技術(shù)鏈接

          最新評(píng)論

          配置Springframework與hibernate連接多數(shù)據(jù)庫(kù)的事務(wù)

          本文只注重配置,分別有如下幾個(gè)文件
          <出處:和巍雅的BLOG
          web.xml 部署配置文件
          struts-config.xml struts的配置文件
          action-servlet.xml Spring依賴注入struts
          Nhibernate_Context.xml Spring依賴注入struts
          hibernate.cfg.xml mssql的Hibernate配置
          hibernate_mysql.cfg.xml mysql的Hibernate配置 
          開(kāi)始:
          web.xml
          ------------------------------------------------------------------------
          <?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 id="WebApp">
          <display-name>EAIJ2EEPRJWeb</display-name>
          <context-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/Nhibernate_Context.xml</param-value>
          </context-param>
          <filter>
          <filter-name>SetCharacterEncodingFilter</filter-name>
          <display-name>SetCharacterEncodingFilter</display-name>
          <filter-class>com.throuhout.j2eemodel.util.SetCharacterEncodingFilter</filter-class>
          <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
          </init-param>
          <init-param>
          <param-name>ignore</param-name>
          <param-value>true</param-value>
          </init-param>
          </filter>
          <filter-mapping>
          <filter-name>SetCharacterEncodingFilter</filter-name>
          <url-pattern>/*</url-pattern>
          </filter-mapping>
          <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>detail</param-name>
          <param-value>2</param-value>
          </init-param>
          <init-param>
          <param-name>validate</param-name>
          <param-value>true</param-value>
          </init-param>
          <load-on-startup>2</load-on-startup>
          </servlet>
          <servlet>
          <servlet-name>SpringContextServlet</servlet-name>
          <display-name>SpringContextServlet</display-name>
          <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
          <load-on-startup>1</load-on-startup>
          </servlet>
          <servlet-mapping>
          <servlet-name>action</servlet-name>
          <url-pattern>*.do</url-pattern>
          </servlet-mapping>
          <mime-mapping>
          <extension>wsdl</extension>
          <mime-type>text/xml</mime-type>
          </mime-mapping>
          <mime-mapping>
          <extension>xsd</extension>
          <mime-type>text/xml</mime-type>
          </mime-mapping>
          <welcome-file-list>
          <welcome-file>index.html</welcome-file>
          <welcome-file>index.htm</welcome-file>
          <welcome-file>index.jsp</welcome-file>
          <welcome-file>default.html</welcome-file>
          <welcome-file>default.htm</welcome-file>
          <welcome-file>default.jsp</welcome-file>
          </welcome-file-list>
          <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-nested.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
          </taglib>
          <taglib>
          <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
          </taglib>
          <taglib>
          <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
          <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
          </taglib>

          </web-app>
          ---------------------------------------------------------------------
          struts_config.xml
          ---------------------------------------------------------------------
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

          <struts-config>

          <!-- 數(shù)據(jù)源 -->
          <data-sources></data-sources>

          <!-- 表單 Bean -->
          <form-beans>
          <form-bean name="UserActionForm" type="org.apache.struts.validator.DynaValidatorForm">
          <form-property name="user" type="com.throuhout.j2eemodel.hibernate.TSysuser" />
          </form-bean>
          <form-bean name="UserMenuActionForm" type="org.apache.struts.validator.DynaValidatorForm">
          <form-property name="menu" type="com.throuhout.j2eemodel.hibernate.TSysmufudef">
          </form-property>
          </form-bean>
          </form-beans>

          <!-- 全局異常 -->
          <global-exceptions></global-exceptions>


          <!-- 全局轉(zhuǎn)發(fā) -->
          <global-forwards>
          <forward name="success" path="/main/success.jsp"></forward>
          <forward name="failure" path="/main/fail.jsp"></forward>
          </global-forwards>

          <!-- 操作映射 -->
          <action-mappings>
          <action path="/User" type="org.springframework.web.struts.DelegatingActionProxy" name="UserActionForm" scope="request" parameter="method" validate="false">
          <forward name="sucess" path="/main/project_index.htm" />
          <forward name="false" path="/failure.html"></forward>
          <forward name="list" path="/main/userlist.jsp">
          </forward>
          <forward name="edit" path="/main/userform.jsp">
          </forward>
          </action>
          <action path="/UserMenu" type="org.springframework.web.struts.DelegatingActionProxy" name="UserMenuActionForm" scope="request" parameter="method" validate="false">
          <forward name="menu" path="/main/menu.jsp"></forward>
          <forward name="usermenu" path="/main/usermenu.jsp">
          </forward>
          </action>
          </action-mappings>

          <!-- 消息資源 -->
          <message-resources parameter="eaij2eeprjweb.resources.ApplicationResources" />
          <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
          <set-property property="contextConfigLocation" value="/WEB-INF/action-servlet.xml" />
          </plug-in>
          <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
          <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml" />
          </plug-in>

          </struts-config>
          -------------------------------------------------------------------
          action-servlet.xml
          --------------------------------------------------------------------
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
          "http://www.springframework.org/dtd/spring-beans.dtd">

          <!-- Spring依賴注入到Struts當(dāng)中 -->
          <beans>
          <bean name="/User" class="com.throuhout.j2eemodel.struts.action.UserAction" singleton="false">
          <property name="userManager">
          <ref bean="userManager" />
          </property>
          </bean>
          <bean name="/UserMenu" class="com.throuhout.j2eemodel.struts.action.UserMenuAction" singleton="false">
          <property name="userManager">
          <ref bean="userManager" />
          </property>
          </bean>

          </beans>
          -------------------------------------------------------------------
          Nhibernate_Context.xml
          --------------------------------------------------------------------
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
          "http://www.springframework.org/dtd/spring-beans.dtd">
          <!-- Spring依賴注入到Struts當(dāng)中 -->
          <!-- Hibernate SessionFactory -->
          <beans>
          <bean id="mssqlSessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">

          <property name="configLocation">
          <value>classpath:hibernate.cfg.xml</value>
          </property>

          <property name="hibernateProperties">
          <props>
          <prop key="hibernate.dialect">net.sf.hibernate.dialect.SybaseDialect</prop>

          <!--<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
          <prop key="hibernate.cache.provider_class">net.sf.hibernate.cache.OSCacheProvider</prop>-->
          <prop key="hibernate.jdbc.fetch_size">50</prop>
          <prop key="hibernate.jdbc.batch_size">25</prop>
          </props>
          </property>
          </bean>

          <bean id="mysqlSessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
          <property name="configLocation">
          <value>classpath:hibernate_mysql.cfg.xml</value>
          </property>

          <property name="hibernateProperties">
          <props>
          <!--<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
          <prop key="hibernate.cache.provider_class">net.sf.hibernate.cache.OSCacheProvider</prop>-->
          <prop key="hibernate.jdbc.fetch_size">50</prop>
          <prop key="hibernate.jdbc.batch_size">25</prop>
          </props>
          </property>
          </bean>

          <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->

          <bean id="mysqltransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
          <property name="sessionFactory">
          <ref local="mysqlSessionFactory" />
          </property>
          </bean>

          <bean id="mssqltransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
          <property name="sessionFactory">
          <ref local="mssqlSessionFactory" />
          </property>
          </bean>

          <!--
          <bean id="aDao" class="com.plat.dao.user.impl.aDaoImpl">
          <property name="sessionFactory">
          <ref local="oracleSessionFactory" />
          </property>
          </bean>
          -->
          <bean id="userDao" class="com.throuhout.j2eemodel.spring.service.dao.hibernate.UserHibernateDao">
          <property name="sessionFactory">
          <ref local="mysqlSessionFactory" />
          </property>
          </bean>


          <!-- Service -->
          <bean id="userManagerTarget" class="com.throuhout.j2eemodel.spring.service.UserManagerImpl">
          <property name="userDao">
          <ref local="userDao" />
          </property>
          </bean>

          <bean id="userManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
          <property name="transactionManager">
          <ref bean="mysqltransactionManager" />
          </property>

          <property name="target">
          <ref local="userManagerTarget" />
          </property>

          <property name="proxyTargetClass">
          <value>true</value>
          </property>
          <property name="transactionAttributes">
          <props>
          <prop key="save*">PROPAGATION_REQUIRED</prop>
          <prop key="find*">PROPAGATION_REQUIRED</prop>
          <prop key="remove*">PROPAGATION_REQUIRED,readOnly</prop>
          <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
          </props>
          </property>
          </bean>
          </beans>
          ---------------------------------------------------------------------
          hibernate.cfg.xml
          ---------------------------------------------------------------------
          <?xml version='1.0' encoding='utf-8'?>
          <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
          "hibernate-configuration-2.0.dtd">

          <hibernate-configuration>

          <session-factory>
          <property name="show_sql">true</property>
          <property name="use_outer_join">false</property>

          <property name="hibernate.dialect">net.sf.hibernate.dialect.SybaseDialect</property>

          <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>

          <property name="hibernate.connection.url">jdbc:jtds:sqlserver://192.168.100.111:1433/testdb</property>
          <property name="hibernate.connection.username">sa</property>
          <property name="hibernate.connection.password">yaya</property>
          <!--
          <property name="hibernate.connection.url">jdbc:jtds:sqlserver://192.168.100.148:1433/throughoutdb</property>
          <property name="hibernate.connection.username">siaote</property>
          <property name="hibernate.connection.password">siaote</property>
          -->
          <property name="hibernate.connection.pool.size">20</property>
          <property name="session_factory_name">mssqlSessionFactory</property>

          <!-- Mapping files -->
          <mapping resource="hbm_tb/T_COST_TYPE.hbm.xml" />


          </session-factory>
          </hibernate-configuration>
          -------------------------------------------------------------------
          hibernate_mysql.cfg.xml
          -------------------------------------------------------------------
          <?xml version='1.0' encoding='utf-8'?>
          <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
          "hibernate-configuration-2.0.dtd">

          <hibernate-configuration>

          <session-factory>
          <property name="show_sql">true</property>
          <property name="use_outer_join">false</property>

          <property name="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property>

          <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>

          <property name="hibernate.connection.url">jdbc:mysql://localhost/pdm</property>
          <property name="hibernate.connection.username">root</property>
          <property name="hibernate.connection.password"></property>

          <property name="hibernate.connection.pool.size">20</property>
          <property name="session_factory_name">mysqlSessionFactory</property>

          <!-- Mapping files -->
          <mapping resource="hbm_tb/TSysuser.hbm.xml" />
          <mapping resource="hbm_tb/TSysmufudef.hbm.xml" />


          </session-factory>
          </hibernate-configuration>

          ----------------------------------------------------------------
          本人的開(kāi)發(fā)環(huán)境:
          開(kāi)發(fā)工具:WSAD 5.1
          中間件服務(wù)器:tomcat 4.24
          數(shù)據(jù)庫(kù):mysql\mssql 完全通過(guò)。
          你可以和 heweiya@yahoo.com.cn 聯(lián)系

          posted on 2005-12-19 11:26 @家軍 閱讀(1007) 評(píng)論(0)  編輯  收藏 所屬分類: J2EE技術(shù)類

          主站蜘蛛池模板: 广昌县| 定南县| 丰都县| 府谷县| 五原县| 大足县| 融水| 江山市| 洛扎县| 太谷县| 荆州市| 米林县| 宁安市| 沧州市| 伊金霍洛旗| 黄大仙区| 辽中县| 石景山区| 尚义县| 且末县| 馆陶县| 大关县| 玉山县| 西青区| 始兴县| 化德县| 滦平县| 宜宾县| 屏东县| 临桂县| 手游| 池州市| 和平县| 古蔺县| 兴隆县| 永春县| 固始县| 蓬莱市| 连城县| 公安县| 罗源县|