1. 程式人生 > >SSH框架集搭建步驟

SSH框架集搭建步驟

使用IDEA搭建SSH基本架構,建立好資料庫(orcal)和專案後,開始

目錄

1.天才第一步,先加好相關jar檔案

2.第二布,配置web.xml

3.第三部,建立好三個框架的核心檔案(本篇使用spring管理資料來源,hibernate.cfg.xml可有可無)

4.第四布,編寫DAO層,我寫的是繼承BaseDao抽象泛型,實現介面的模式

5.第五步,建立業務層編寫action然後實現和頁面的互動

 


1.天才第一步,先加好相關jar檔案


2.第二布,配置web.xml

web.xml

  <!--宣告上下文初始引數-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!-- 對spring框架中的ContextLoaderListener類進行監聽 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- spring 管理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>*.action</url-pattern>
    </filter-mapping>

    <!--將全部請求定位到struts2過濾器 -->
    <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>

 


3.第三部,建立好三個框架的核心檔案(本篇使用spring管理資料來源,hibernate.cfg.xml可有可無)

applicationContext.xml

dao:

//配置dao

 <!-- 定義資料來源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <!-- 指定JDBC驅動類 -->
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />

        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />

        <property name="username" value="jboa" />

        <property name="password" value="123" />

        <property name="initialSize" value="20"/>

    </bean>

    <!-- 定義SessionFactory Bean -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <!-- 注入資料來源 -->
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <!--新增hibernate配置引數 -->
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.Oracle10gDialect
                </prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="javax.persistence.validation.mode">none</prop>
            </props>
        </property>
        <property name="mappingDirectoryLocations">
            <list>
                <value>classpath:landun/pojo</value>
            </list>
        </property>
        <!--載入由註解定義的持久化類 -->
       <!-- <property name="packagesToScan" value="landun.pojo" />-->
    </bean>

transaction :

//配置tx

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

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <tx:advice id="txAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="find*" read-only="true" />
            <tx:method name="search*" read-only="true" />
            <tx:method name="query*" read-only="true" />
            <tx:method name="add*" propagation="REQUIRED"/>
            <tx:method name="register" propagation="REQUIRED" />
            <tx:method name="del*" propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="do*" propagation="REQUIRED" />
            <tx:method name="*" propagation="REQUIRED" read-only="true" />
        </tx:attributes>
    </tx:advice>

    <aop:config>
        <aop:pointcut id="serviceMethod"
                      expression ="execution( * landun.service..*.*(..))" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethod"/>
    </aop:config>

    <!--事務註解驅動-->
    <tx:annotation-driven transaction-manager="txManager"/>

最後將它兩都匯入進applicationContext.xml

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


    <!-- 掃描註解 -->
    <context:component-scan base-package="landun"/>

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

4.第四布,編寫DAO層,我寫的是繼承BaseDao抽象泛型,實現介面的模式

BaseDao:

直接繼承HibernateDaoSupport類,並建立一個方法用來自動注入sessionFactory

編寫dao實現類繼承Basedao,並使用註解建立bean(可以不使用註解,使用配置檔案單個建立,個人喜歡註解,簡便不是一點半點~)


5.第五步,建立業務層編寫action然後實現和頁面的互動

service:

action:


一個基本的ssh架構就搭建完了,看完點個贊~qaq