簡述SSM框架與SSH框架

簡述SSM框架與SSH框架

一. 簡介SSM框架
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內容)。常作爲數據源較簡單的web項目的框架。

Spring
  Spring就像是整個項目中裝配bean的大工廠,在配置文件中可以指定使用特定的參數去調用實體類的構造方法來實例化對象。也可以稱之爲項目中的粘合劑。
  Spring的核心思想是IoC(控制反轉),即不再需要程序員去顯式地new一個對象,而是讓Spring框架幫你來完成這一切。

SpringMVC
  SpringMVC在項目中攔截用戶請求,它的核心Servlet即DispatcherServlet承擔中介或是前臺這樣的職責,將用戶請求通過HandlerMapping去匹配Controller,Controller就是具體對應請求所執行的操作。SpringMVC相當於SSH框架中struts。
  
mybatis
  mybatis是對jdbc的封裝,它讓數據庫底層操作變的透明。mybatis的操作都是圍繞一個sqlSessionFactory實例展開的。mybatis通過配置文件關聯到各實體類的Mapper文件,Mapper文件中配置了每個類對數據庫所需進行的sql語句映射。在每次與數據庫交互時,通過sqlSessionFactory拿到一個sqlSession,再執行sql命令。
頁面發送請求給控制器,控制器調用業務層處理邏輯,邏輯層向持久層發送請求,持久層與數據庫交互,後將結果返回給業務層,業務層將處理邏輯發送給控制器,控制器再調用視圖展現數據。
在這裏插入圖片描述

二. 簡介SSH框架

SSH是 struts+spring+hibernate的一個集成框架,是目前比較流行的一種Web應用程序開源框架。區別於 Secure Shell 。
集成SSH框架的系統從職責上分爲四層:表示層、業務邏輯層、數據持久層和域模塊層,以幫助開發人員在短期內搭建結構清晰、可複用性好、維護方便的Web應用程序。其中使用Struts作爲系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。

SSH框架集,是現在大多數軟件設計過程中都會使用的一種框架集。而這種框架是基於MVC的開發,且MVC模式已經成爲現代J2EE開發中的一種常用模式,且受到越來越多JSP、PHP等開發者的歡迎。MVC模式,分別是模型(Model)、視圖(View)、控制器(Controller)。
應用程序被分割成這三大部分之後,各自處理自己的任務。視圖層通過提取用戶的輸入信息,提交到控制器之後,控制器根據某種選擇來決定這個請求交由給模型層來處理,模型層根據業務邏輯的代碼處理用戶請求並返回數據,並最終用視圖層展示給用戶。
而前面提到的SSH框架集,就是很好的對應了MVC模式的開發使用。這種Struts+Hibernate+Spring的三大框架整合,契合着MVC模式的三層對象。其中Struts對應着前臺的控制層,而Spring則負責實體bean的業務邏輯處理,至於Hibernate則是負責數據庫的交接以及使用Dao接口來完成操作。

SSH是Struts、Hibernate和Spring的集成框架:

Struts
Struts與SSH框架-樣同樣具有開源性,合理恰當的使用Struts技術可以在定程度上減少基於MVC模型的Wieb應用系統的開發時間,從而有效控制系統開發成本。事實上,絕大多數程序員在在使用Servicts和JSP的可擴展的應用時已經將Srurs框架技術作爲系統F發的標準。
Struts技術基於MVC框架,Struts的實現依賴Servlet和JSP實現。EJB和JavaBean兩個組件是Struts框禁業務功能實現的基礎部件:Action和ActionServlet部件是框架實現控制力能的重要部件:視圖部分則是由若干存在內在聯繫的JSP文件有機構成。
其工作原理如下:
1、使用者通過瀏覽器客戶端發送HTIP協議的數據請求。
2、HITP請求到達服務器後,經過控制器,使用框架結構填充FormBean。
3、經過填充的數據請求通過框架中控制器的Action組件進行數據業務處理。
4、經過控制器處理過的業務數據調用Stuts的基礎部件實現業務邏輯。
5、將業務邏輯經過轉換形成JSP業務進行處理,井將處理結果反或
6、用戶在客戶端或者瀏覽器上得到HTTP請求的響應。

Hibernate
Hibernate,是負責了跟數據庫的交接。通過持久化數據對象,進行對象關係的映射,並以對象的角度來訪問數據庫。通過封裝JDBC,使得開發人員可以以面向對象編程的思想來操控數據庫,從而擺脫了以往使用JDBC編程時的“死板”操作。通過hibernate.cfg.xml文件來取代以往的JDBC連接數據庫的一大串代碼,通過XXX(實體Bean的類名).hbm.xml文件來與數據庫的具體表進行映射。並且Hibernate有自己的HQL語句,與數據庫的SQL語句相似,但不同的是HQL語句在面向對象編程的角度上,通過Session的createQuery方法創建戶一個query對象,由這個對象來完成對數據庫的增刪改查等操作。通過Struts2中Action的返回值,來調用Dao層中的業務處理。

Spring
Spring,使用基本的實體JavaBean來完成以前只能用EJB完成的事情。而其核心則是控制反轉(IOC)和麪向切面編程(AOP)。使用Spring,意味着一個對象的創建再也不是自己new出來的,而是全權交給了IOC容器去實例化。與此同時,Spring通過採用依賴注入(DI)的方式,通過屬性的Setter和Getter方法來注入這個對象的屬性,這樣的好處就是不完全依賴於容器的API,且查詢依賴與代碼實現瞭解耦。而AOP,則是將應用的業務邏輯和系統級服務(例如事務)分離開來,進行內聚性的開發,應用對象只負責完成業務邏輯而不關心日誌或者事務的處理。
在這裏插入圖片描述

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