国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
SSH整合開(kāi)發(fā)環(huán)境搭建的一種解決方案

      采用MVC架構(gòu),再細(xì)分為四層:視圖層(JSP,HTML),控制層(struts 2),業(yè)務(wù)邏輯層(service)和數(shù)據(jù)訪(fǎng)問(wèn)層(dao)。

可以創(chuàng)建如下的項(xiàng)目工程文件結(jié)構(gòu):

project:  

       |-src

            |-com

                 |-com.pzx.dao.interfaces

                 |-com.pzx.dao

                 |-com.pzx.entity

                 |-com.pzx.model

                 |-com.pzx.service.interfaces

                 |-com.pzx.service

                 |-com.pzx.actions

                 |-com.pzx.servlet

                 |-com.pzx.util

 

                 |-struts.xml

                 |-hibernate.cfg.xml

                 |-user.hbm.xml

                 |-struts.xml

 

         |-Test

              |-com.test

                   |-TestCase1.java

   |-WebContent

         |-WEB-INF

              |-lib

              |-applicationContext.xml

 

第一步:Hibernate部分

1、從需求分析中獲取數(shù)據(jù)庫(kù)實(shí)體,在com.pzx.model中創(chuàng)建實(shí)體對(duì)象

2、創(chuàng)建每個(gè)實(shí)體對(duì)象的數(shù)據(jù)訪(fǎng)問(wèn)層的接口,寫(xiě)在com.pzx.dao.interfaces中

3、創(chuàng)建每個(gè)實(shí)體對(duì)象的業(yè)務(wù)邏輯層的接口,寫(xiě)在com.pzx.service.interfaces中

4、把Hibernate的相關(guān)jar包復(fù)制到lib目錄下:

           HIBERNATE_HOME/lib 下的相關(guān)的依賴(lài)的第三方包

              HIBERNATE_HOME/hibernate3.jar   Hibernate的核心實(shí)現(xiàn)

              引入相關(guān)的JDBC驅(qū)動(dòng)

5、在src目錄下創(chuàng)建相關(guān)的配置文件:hibernate.cfg.xml,user.hbm.xml...

       可以從以下目錄中拷貝過(guò)來(lái)修改:

          HIBERNATE_HOME \etc\ hibernate.properties   舊版本的Hibernate實(shí)用的核心配置文件,這個(gè)文件列舉了相關(guān)的Hibernate配置,在配置文件時(shí)可以參考該文件。

              HIBERNATE_HOME \etc\ hibernate.cfg.xml   如果存在這個(gè)文件則會(huì)覆蓋上面的properties文件

              HIBERNATE_HOME\hibernate-3.2\etc   日志記錄文件

6、編寫(xiě)hibernate.cfg.xml文件:

<hibernate-configuration>

    <session-factory>

       <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

       <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/數(shù)據(jù)庫(kù)名稱(chēng)</property>

       <property name="hibernate.connection.username">用戶(hù)</property>

       <property name="hibernate.connection.password">密碼</property>

       <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

       <property name="hibernate.show_sql">true</property>

       <!--

       <property name="hibernate.format_sql">true</property>

        -->      

       <mapping resource="com/test/User.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

7、編寫(xiě)user.hbm.xml等實(shí)體映射文件

<hibernate-mapping>

    <class name="com.test.User">

       <id name="id">

           <generator class="uuid"/>

       </id>

       <property name="name" column=”user_name”/>

       <property name="password"/>

    </class>

</hibernate-mapping>

創(chuàng)建完映射文件之后,記得把hbm.xml文件添加到hibernate.cfg.xml文件中

    <mapping resource="com/test/User.hbm.xml"/>

       (在session-factory標(biāo)簽里property標(biāo)簽后)

8、生成數(shù)據(jù)庫(kù)

       創(chuàng)建hibernate.cfg.xml中指定的數(shù)據(jù)庫(kù)

       可以使用SchemaExport生成相關(guān)表

       Configuration cfg = new Configuration().configure();

       SchemaExport export = new SchemaExport(cfg);

       export.create(true, true);

       也可以在hibernate.cfg.xml中進(jìn)行相關(guān)的配置使之自動(dòng)生成

<property name="hibernate.hbm2ddl.auto">create</property> 

 

第二步:Spring部分

1、  把spring相關(guān)的jar包復(fù)制到lib目錄中

       SPRING_HOME\dist\spring.jar   spring核心jar包

       SPRING_HOME \lib\log4j\log4j-1.2.14.jar    記錄日志

       SPRING_HOME \lib\jakarta-commons\commons-logging.jar

2、  在WEB-INF下建立applicationContext.xml

a)         可從SPRING_HOME\ samples\jpetstore\war\WEB-INF\目錄下拷貝applicationContext.xml

3、  提供log4j.properties配置文件

可從下面目錄中拷貝:

G:\software_programming\Java\SSH\spring\spring-framework-2.0.8-with-dependencies\spring-framework-2.0.8\samples\jpetstore\war\WEB-INF\ log4j.properties

4、把初始化Hibernate的SessionFactory借口交給spring管理

    <bean id="sessionFactory"

       class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

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

       </property>

    </bean>

    注意:這里的數(shù)據(jù)庫(kù)相關(guān)配置信息是寫(xiě)到了hibernate.cfg.xml文件中,也可以通過(guò)在spring配置jdbc datasource對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理,然后通過(guò)datasource注入sessionFactory的方式來(lái)創(chuàng)建會(huì)話(huà)工廠(chǎng)

5、配置spring為hibernate配置的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)操作的封裝類(lèi)hibernateTemplate

    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">

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

    </bean>

6、在applicationContext.xml文件中配置數(shù)據(jù)庫(kù)的事務(wù)(也可以使用AOP進(jìn)行配置)

           <!-- 事務(wù)攔截器bean需要依賴(lài)注入一個(gè)事務(wù)管理器 -->

    <bean id="transactionManager"

       class="org.springframework.orm.hibernate3.HibernateTransactionManager">

       <property name="sessionFactory">

           <ref bean="sessionFactory" />

       </property>

    </bean>

   

    <!-- 設(shè)置事務(wù)傳播特性,對(duì)應(yīng)于A(yíng)OP中的 <tx:advice />  -->

    <bean id="transactionInterceptor"

       class="org.springframework.transaction.interceptor.TransactionInterceptor">

       <property name="transactionManager">

           <ref bean="transactionManager" />

       </property>

       <property name="transactionAttributes">

           <props>

              <prop key="get*">PROPAGATION_REQUIRED, readOnly

              </prop>

              <prop key="*">PROPAGATION_REQUIRED</prop>

           </props>

       </property>

    </bean>   

     <!-- 定義BeanNameAutoProxyCreator,配置哪些類(lèi)和哪些方法使用事務(wù)對(duì)應(yīng)于A(yíng)OP中的 <aop:pointcut /> -->   

    <bean

       class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">

       <!-- 指定對(duì)滿(mǎn)足哪些bean name的bean自動(dòng)生成業(yè)務(wù)代理 -->

       <property name="beanNames">

           <!-- 下面是所有需要自動(dòng)創(chuàng)建事務(wù)代理的bean-->   

           <list>

               <value>userDAO</value>             

              <value>provinceDAO</value>

              <value>cityDAO</value>

              <value>sexDAO</value>

              <value>statusDAO</value>

           </list>

           <!-- 此處可增加其他需要自動(dòng)創(chuàng)建事務(wù)代理的bean-->

       </property>

       <property name="interceptorNames">

           <!--  下面定義BeanNameAutoProxyCreator所需的事務(wù)攔截器-->   

           <list>

              <value>transactionInterceptor</value>

               <!-- 此處可增加其他新的Interceptor -->

           </list>

       </property>

    </bean>

7、applicationContext.xml中配置相關(guān)的數(shù)據(jù)訪(fǎng)問(wèn)層Dao,注意創(chuàng)建時(shí)要給spring提供一個(gè)借口,方便其代理

    <bean id="userDAO" class="com.pzx.dao.UserDAOImpl">

       <constructor-arg>

           <ref bean="hibernateTemplate" />

       </constructor-arg>

</bean>

8、在applicationContext.xml中配置相關(guān)的業(yè)務(wù)邏輯層Service,其構(gòu)造函數(shù)中的參數(shù)指向器數(shù)據(jù)訪(fǎng)問(wèn)層bean

    <bean id="userService" class="net.blogjava.nokiaguy.kxw.service.UserServiceImpl">

       <constructor-arg>

           <ref bean="userDAO" />

       </constructor-arg>

    </bean>

 

第三步:struts部分

1、  建立界面原型

2、  建立struts.xml文件

可以從下面目錄中拷貝

       STRUTS_HOME/apps/struts2-blank-2.1.6/WEB-INF/src/java/struts.xml  

確定namespace

確定package

確定Action的名稱(chēng)

確定Result

3、  把相關(guān)jar文件拷貝到項(xiàng)目中

  STRUTS_HOME /apps/struts2-blank-2.1.6/WEB-INF/lib 目錄下的相關(guān)jar文件

4、  配置web.xml文件

可以從

              STRUTS_HOME /apps/struts2-blank-2.1.6/WEB-INF/web.xml文件中拷貝:

              <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>

5、  在struts.xml中配置項(xiàng)攔截器

       <interceptors>

           <interceptor-stack name="excludeParamsStack">

              <interceptor-ref name="defaultStack">

                  <param name="params.excludeParams">ext-comp-.*</param>

              </interceptor-ref>

           </interceptor-stack>

       </interceptors>

6、  在struts.xml中配置相關(guān)的Action

<action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">

            <result>/{1}_{2}_success.jsp</result>

            <!-- {0}_success.jsp -->

</action>

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
spring面試題
【Struts2 Spring3 Hibernate3】SSH框架整合實(shí)現(xiàn)CRUD
Struts Spring Hibernate整合
圖解SSH框架配置步驟
MyEclipse10 開(kāi)發(fā) SSH2
spring配置hibernate的sessionFactory的幾種方法GOOD
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服