SSH架構整合

來源:互聯網
上載者:User

標籤:

本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-151.html

版本:
Struts:struts-2.3.24.1
Spring:spring-framework-4.2.5
Hibernate:hibernate-release-5.1.0


Struts2
1、 引入struts2的基礎jar包;
  commons-fileupload-1.2.2.jar
  commons-io-2.0.1.jar
  commons-lang-2.5.jar
  commons-logging-1.1.1.jar
  freemarker-2.3.16.jar
  javassist-3.11.0.GA.jar
  ognl-3.0.1.jar
  struts2-core-2.2.3.jar
  xwork-core-2.2.3.jar
  asm-3.1.jar
  asm-commons-3.1.jar
2、 Web.xml配置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、 WEB-INF下建立jsp檔案夾,裡面建立反饋jsp頁面;
4、 建立Action:繼承ActionSupport重寫excute方法;
5、 ClassPath下建立struts.xml:
配置action:
  <action name="register" class="com.s2sh.action.RegisterAction">
    <result name="success">/WEB-INF/jsp/success.jsp</result>
    <result name="fail">/WEB-INF/jsp/fail.jsp</result>
  </action>


Spring
1、 匯入Spring的基礎jar包;
2、 設定Spring設定檔位置:
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath:applicationContext.xml
    </param-value>
  </context-param>
3、 設定Spring隨伺服器啟動而啟動
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
4、 ClassPath下建立applicationContext.xml
配置組件bean掃描路徑:
<context:component-scan base-package="com.s2sh"></context:component-scan>
5、 加入和Struts2的串連外掛程式:struts2-spring-plugin-2.3.24.1.jar;
6、 寫好Dao和Service,用@Component和@Resource註解好bean組件和自動注入;
7、 Action中添加所需業務處理類引用,添加set和get方法,這樣Spring就會為其自動注入;
8、 配置Spring的中文亂碼過濾器;

Hibernate
1、 加入Hibernate基礎jar包;
2、 加入串連池jar包:
  c3p0-0.9.2.1.jar
  mchange-commons-java-0.2.3.4.jar
3、 加入slf4j和log4j等相關日誌包
  資料庫驅動包
  aopalliance-1.0.jar
4、 ClassPath下建立jdbc.properties,配置jdbc資料庫連接資訊;
5、 applicationContext.xml下配置載入jdbc資訊檔:
  <context:property-placeholder location="classpath:jdbc.properties"/>
6、 applicationContext.xml設定資料庫串連池對象:
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="$ {jdbc.driverClassName}"/>
    <property name="jdbcUrl" value="$ {jdbc.url}"/>
    <property name="user" value="$ {jdbc.username}"/>
    <property name="password" value="$ {jdbc.password}"/>
 </bean>
7、 配置SessionFactory(相當於Hibernate的主設定檔):
  <!-- 整合Hibernate -->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate5.annotation. LocalSessionFactoryBean">
  <!-- 配置串連池 -->
  <property name="dataSource" ref="dataSource" />
  <!-- 配置註解組件類 -->
  <!--
  <property name="annotatedClasses">
   <list>
    <value>com.s2sh.domain.User</value>
   </list>
  </property>
  -->
  <!-- 自動掃描實體類,不用一個個寫限定名 -->
  <property name="packagesToScan">
   <value>com.s2sh.domain</value>
  </property>
  <!-- Hibernate主設定檔內容 -->
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>
8、 配置HibernateTemplate:
  <bean name="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate">
    <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
9、 Hibernate交易管理員:
 <bean id="txManager"
    class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
 </bean>
10、 使用交易管理員:
  <!-- 使用交易管理員 -->
 <tx:annotation-driven transaction-manager="txManager"/>
11、 在需要交易管理的業務處理方法上註解@Transactional;
12、 實體類User添加@Entity、@Id等Hibernate實體註解;
13、 SQL資料庫建表;

 

注意:在配置Hibernate相關的類時,要用哪個包的類要根據Hibernate的版本來選擇。
   Hibernate5主鍵建置原則用@GeneratedValue(strategy=GenerationType.IDENTITY)。

本文為博主原創,允許轉載,但請聲明原文地址:http://www.coselding.cn/blog/8/8-151.html

SSH架構整合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.