1. 程式人生 > >暑假專案天地圖SSH整合之架構簡介

暑假專案天地圖SSH整合之架構簡介

(一)SSH簡介

       

      首先,SSH不是一個框架,而是多個框架(struts+spring+hibernate)的整合,是目前較流行的一種Web應用程式開源整合框架,用於構建靈活、易於擴充套件的多層Web應用程式。

 

      整合SSH框架的系統從職責上分為四層:表示層、業務邏輯層、資料持久層和域模組層(實體層)。

 

      Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支援。Spring一方面作為一個輕量級的IoC容器,負責查詢、定位、建立和管理物件及物件之間的依賴關係,另一方面能使Struts和Hibernate更好地工作。

 

 

由SSH構建系統的基本業務流程是: 

1、在表示層中,首先通過JSP頁面實現互動介面,負責傳送請求(Request)和接收響應(Response),然後Struts根據配置檔案(struts-config.xml)將ActionServlet接收到的Request委派給相應的Action處理。

2、在業務層中,管理服務元件的Spring IoC容器負責向Action提供業務模型(Model)元件和該元件的協作物件資料處理(DAO)元件完成業務邏輯,並提供事務處理、緩衝池等容器元件以提升系統性能和保證資料的完整性。

3、在持久層中,則依賴於Hibernate的物件化對映和資料庫互動,處理DAO元件請求的資料,並返回處理結果。

 

採用上述開發模型,不僅實現了檢視、控制器與模型的徹底分離,而且還實現了業務邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,並且資料庫的變化也不會對前端有所影響,大大提高了系統的可複用性。而且由於不同層之間耦合度小,有利於團隊成員並行工作,大大提高了開發效率。

   (二)SSH和SSM的區別

      一般web結構都分為model,view,controller三層,SSH 通常指的是 Struts2 做控制器(controller),spring 管理各層的元件,hibernate 負責持久化層。SSM 則指的是 SpringMVC 做控制器(controller),Spring 管理各層的元件,MyBatis 負責持久化層。

    共同點:1.Spring依賴注入DI來管理各層的元件。2.使用面向切面程式設計AOP管理事物、日誌、許可權等。

    不同點:1.Struts2 和 SpringMVC 控制器(controller)控制檢視和模型的互動機制的不同,

      兩者在實際應用中,SSH封裝了一些簡單的sql語句,可以快速進行開發。但SSM可以自己編寫sql語句,實現需要的各種功能,更為靈活,所以現在主要流行的是SSM。