SSH框架&整合
阿新 • • 發佈:2018-12-09
1、SSH開發所需要的所有基本jar包
連結:https://pan.baidu.com/s/1yJEnP6LWJ4x7DtxbKHOENA
提取碼:4msp
2、SSH開發所需要的配置檔案
2.1 Struts的配置檔案
- web.xml中配置struts的核心過濾器
<!-- 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>
- struts.xml的配置
?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 配置Struts2的常量 -->
<constant name="" value=""/>
<package name="包名唯一" extends="struts-default" namespace="/">
<!--配置攔截器-->
<interceptors>
<interceptor name="攔截器名稱" class="攔截器全路徑"></interceptor>
</interceptors>
<!--全域性結果檢視-->
<global-results>
<result name="名稱">頁面路徑</result>
</global-results>
<!--配置action-->
<action name="" class="" method="">
<result name=""></result>
<!--====如果使用到攔截器,則進行下面的配置======-->
<interceptor-ref name="">
<param name=""></param>
</interceptor-ref>
<!--一旦使用自定義攔截器,就需要手動新增預設攔截器-->
<interceptor-ref name="defaultStack"/>
<!--====如果使用到攔截器,則進行的配置==========-->
</action>
</package>
</struts>
2.2 Hibernate的配置檔案
- hibernate.cfg.xml
- 如果將hibernate的配置交給spring則不需要這個檔案,換成一個屬性檔案
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 連線資料庫的基本引數 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///....</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!-- 配置Hibernate的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 可選配置================ -->
<!-- 列印SQL -->
<property name="hibernate.show_sql">true</property>
<!-- 格式化SQL -->
<property name="hibernate.format_sql">true</property>
<!-- 自動建立表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 配置C3P0連線池 -->
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<!--在連線池中可用的資料庫連線的最少數目 -->
<property name="c3p0.min_size">5</property>
<!--在連線池中所有資料庫連線的最大數目 -->
<property name="c3p0.max_size">20</property>
<!--設定資料庫連線的過期時間,以秒為單位,
如果連線池中的某個資料庫連線處於空閒狀態的時間超過了timeout時間,就會從連線池中清除 -->
<property name="c3p0.timeout">120</property>
<!--每3000秒檢查所有連線池中的空閒連線 以秒為單位-->
<property name="c3p0.idle_test_period">3000</property>
<!-- 引入對映 -->
<mapping resource="對映檔案的全路徑"/>
</session-factory>
</hibernate-configuration>
- 這是屬性檔案,檔名為jdbc.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///....
jdbc.username=root
jdbc.password=root
- 對映檔案
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="" table="">
<id name="" column="">
<generator class=""></generator>
</id>
<property name="" column=""></property>
</class>
</hibernate-mapping>
2.3 spring的配置檔案
- web.xml中配置spring的監聽器
<!-- 配置Spring的核心監聽器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
- applicationContext.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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 開啟屬性注入的註解 -->
<context:annotation-config/>
<!--========================這部分的配置是針對將hibernate的配置交給spring管理=============================-->
<!-- 引入外部屬性檔案=============================== -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 配置C3P0連線池=============================== -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 配置SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 注入連線池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 配置Hibernate的相關屬性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 引入對映檔案 -->
<property name="mappingResources">
<list>
<value>對映檔案的全路徑</value>
</list>
</property>
</bean>
<!--========================這部分的配置是針對將hibernate的配置交給spring管理=============================-->
<!-- 配置Action -->
<bean id="...action" class="action的全路徑" scope="prototype">
<!--屬性注入,注入Service,如果是註解方式的開發,則不需要接下來的配置-->
<property name="userService" ref="userService"/>
</bean>
<!-- 配置Service -->
<bean id="....Service" class="service的全路徑">
<!--屬性注入,注入Dao,如果是註解方式的開發,則不需要接下來的配置-->
<property name="userDao" ref="userDao"/>
</bean>
<!-- 配置DAO -->
<bean id="...Dao" class="dao的全路徑">
<!--屬性注入,注入事務管理,註解方式的開發,也需要配置,因為這個管理器的類並沒有交由spring管理-->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置事務管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 開啟註解事務 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>