SSH理論學習總結

學習了SSH的基礎知識知道了,SSH並不是一個框架,而是多個框架(struts+spring+hibernate)的集成框架。是目前交流行的一種web應用程序開源集成框架,用於構建靈活、已於擴展的多層次web應用程序。
集成的SSH框架分爲四層系統職責:(1)表示層;(2)業務邏輯層;(3)數據持久層;(4)域模塊層(實體層)。Struts作爲系統的整體基礎架構,負責MVC(批註1)的分離,在Struts框架的模型部分,控制業務跳轉。利用Hibernate框架對持久層提供支持。Spring一方面作爲一個輕量級的IoC(批註2)容器,複測查找、定位、創建和管理對象及對象之間的依賴關係,另一方面能使Struts和Hiberate更好的工作。
批註1:MVC是一種使用MVC(Model View Controller模型-視圖-控制器)設計創建web應用程序的模式:
(1)Model(模型)表示應用程序核心(數據庫記錄列表);是應用程序中用於處理應用程序數據邏輯的部分。通常模型對象負責在數據庫中存取數據。
(2)View(視圖)顯示數據(數據庫記錄);是應用程序中處理數據顯示的部分。通常是圖示依據模型數據創建的。
(3)Controller(控制器)處理輸入(寫入數據庫記錄);是應用程序中處理用戶交互的部分。通常控制器負責從仕途讀取數據,控制用戶輸入,並向模型發送數據。
批註2:IoC是控制反轉(Inversion of Control,的英文縮寫)是框架的重要特徵,並非面向對象編程的專用術語。它與依賴注入和依賴查找並沒有關係。

SSH構建系統的業務基本流程:
1、在表示層中,首先通過JSP頁面實現交互界面,負責傳送請求(Request)和接受相應(Response),然後Struts根據配置文件(struts-config.xml)將ActionServlet接收到的Request委派相應的Action處理。
2、在業務層中,管理服務組建的Spring IoC容器負責向Action提供業務模型(Model)組件和該組件的協作對象數據處理組件完成業務邏輯,並提供事物處理、緩衝池等容器組件以提升系統性能和駁岸增數據的完整性。
3、在持久層中,則依賴於Hibernate的對象話映射和數據庫交互,處理DAO組建請求的數據,並返回處理結果。
採用SSH開發模型,不僅實現了視圖、控制器與模型的徹底分離,而且還實現了業務邏輯層與持久的分離。這樣無論前段如何變化,模型層只需很少的改動,並且數據庫的變化也不會對前端有所影響,大大提高了系統的可複用性。而且由於不同層之間耦合度小,有利於團隊成員並行工作,大大提高了開發效率。

一、Spring(負責表面層的顯示)
1、Spring 的簡單理解:Spring是一個輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架。
2、Spirng的特徵:IoC容器;輕量級;面向切面;促進其他框架;面向接口;所有的這些特徵能夠編寫更乾淨、更可管理、並且更易於測試的代碼。
3、Spring的以上特徵是的開發人員使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於服務器端的開發。從簡單性、可預測性和松耦合的角度而言,任何Java應用都可以從Spring中受益。
Spring提供了管理業務對象的一致方法並且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作爲構建完關注所有架構層的完整結局方案方面是獨一無二的。Spring提供了唯一的數據訪問抽象,包括簡單和有效的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事物提供一個一致的變成模型。

二、STRUTS(負責對數據庫進行操作)
Struts是一個基於Sun J2EE平臺的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。它把Servlet、JSP、自定義標籤和信息資源整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。

三、Hibernate(負責數據庫數據的持久化)
Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,是的Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE框架中取代CMP,完成數據庫化的重任。Hibernate可以在應用EJB和J2EE框架中取代CMP,完成數據持久化的重任。映射簡單。

SSH三者的作用:
一、Struts:
在項目中主要起到控制作用,用於web層(視圖層和控制層)
Struts本身就是MVC結構,使用Struts間接的也使用了MVC結構,使項目更清晰,分工更明細。
二、Spring:
它是一個全方位的整合框架,在項目中對hibernate和struts整合,結局了層與層之間的耦合問題。它的作用貫穿了中間層,將web層,service層,DAO層及PO無縫整合。
三、Hibernate:
應用於數據持久化層,是對JDBC的輕量級封裝。是一種對象、關係的映射工具,提供了從Java類到數據表的映射,也提供了到數據查詢和恢復等機制。減少了數據訪問的複雜度。把對數據庫的直接操作,轉換爲對持久對象的操作。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章