【SSH】--SSH框架簡介

ZeroWM發表於2015-10-23

  整個專案為期兩個月,開發也就20來天,終於結束這個商城專案,感覺收穫大大滴有。這篇關於SSH簡介的部落格似乎有些姍姍來遲,但是隻要總結,什麼時候都不算晚。下面是專案一覽圖:
  這裡寫圖片描述
  

什麼是SSH框架呢?

  SSH是struts+spring+hibernate整合的web應用程式開源框架。
  Struts:用來控制的,核心控制器是Controller。
  Spring:對Struts和Hibernate進行管理,整合的。
  Hiernate:操控資料庫。
  

SSH是怎樣一個流程?

  SSH從職責上分為四層:表示層、業務邏輯層、資料持久層和域模組層。
這裡寫圖片描述
  
  先來一下知識點大掃盲活動。
  struts標籤庫:Struts2預設的表示式語言是OGNL(Object-Graph Navigation Language),通過它可以存取物件的任意屬性、呼叫物件的方法、遍歷整個物件的結構圖、實現欄位型別轉換等功能。例如:<s:iterator var=”cartItem” value=”#session.cart.cartItems”>
  JSP: HTML檔案中插入Java程式段和JSP標記。
  web.xml: Struts2核心過濾器和監聽器
  struts.xml: 管理應用中的Action對映,及Action處理結果和物理資源之間的對映。
  ApplicationContext.xml: 整合了struts和Hibernate。
  *.hbm.xml:O/R Mapping(Object Relational Mapping)對映檔案,實體和表的對映關係通過XML來描述的檔案。在專案啟動的時候載入到記憶體中。
  PO:Persistent Object,持久化物件。
    
  掃盲完成後,官方解釋就容易理解多了。
  整體的呼叫關係:JSP–Action–Service–DAO–PO–資料庫
  在表示層中,首先通過JSP頁面實現互動,負責接收請求(request)和傳送請求(response),Struts根據配置檔案(struts.xml)將ActionServlet(Struts的內建核心控制器元件)接收到的Request請求委派給Action處理。
  在業務層中,管理伺服器組建的Spring IOC容器負責向Action提供業務模型(Model)元件和該元件的協作物件資料處理(DAO)組建完成業務邏輯,並提供事務處理、緩衝池等容器元件以提升和保持資料的完整性。
  在持久層,依賴於Hibernate的物件化對映和資料庫互動,處理DAO組建請求的資料,並返回處理結果。
  

SSH框架有什麼優點?

  1.spring管理物件的例項化,把物件的建立和獲取放到外部,更加的靈活方便。
  2.Hibernate避免了JDBC連線資料庫的冗餘繁雜
  3.各層分工明細,實現了各層之間的解耦,程式碼更加靈活。
  

相關文章