ssh框架

ssh框架

SSH是 struts+spring+hibernate的一個集成框架,是16年之前較為流行的一種Web應用程式開源框架。區別於 Secure Shell

集成SSH框架的系統從職責上分為四層:表示層業務邏輯層數據持久層和域模組層,以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程式。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。

基本介紹

  • 中文名:SSH框架
  • 外文名:SSH-Framework
  • 全稱:Spring + Struts + Hibernate
  • 屬性:Web應用程式開源框架
  • 學科:計算機編程
概述,框架解析,Struts,Hibernate,Spring,技術優勢,意義,發展前景,

概述

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模型的Web套用系統的開發時間,從而有效控制系統開發成本。事實上,絕大多數程式設計師在使用Servlet和JSP的可擴展的套用時已經將Struts框架技術作為系統開發的標準。
Struts技術基於MVC框架,Struts的實現依賴ServletJSP實現。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,則是將套用的業務邏輯和系統級服務(例如事務)分離開來,進行內聚性的開發,套用對象只負責完成業務邏輯而不關心日誌或者事務的處理。

技術優勢

SSH框架是基於傳統J2EE框架的新技術,SSH框架繼承了J2EE的分層架構模式,二者的不同之處僅在於層與層之間的實現方法。當J2EE框架和SSH架構完成相同的運算任務時,SSH框架消耗的系統資源最少。
SSH框架在業務對象的的平台專用性上沒有特殊的限定要求,在SSH框架中業務邏輯的實現通過普通的Java對象即可完成。
SSH組合框架技術優勢體現在四個方面:一、分離了Java代碼和HIML代碼,降低了對開發人員要求的複合度。二、是系統的層與層之間的工作相是對獨立的,代碼耦合度低。三即使脫離了Spring 環境的AOP機制,也不會妨礙AOP實現業務的功能。四、與SSH配合使用的Hibemate等跨平台技術開源性極強促使了SSH框架的飛速發展。
SSH的技術優勢使得採用SSH框架技術開發的系統具備了很強的可拓展性、可移植性。同時,採用開源的SSH框架能夠大大簡化系統開發的複雜度,縮短系統開發時間。

意義

框架的使用可以大大縮短大型系統的開發周期,提高開發質量,就傳統的Java編程來說,基於類庫的面向對象的技術來比較,框架已經為我們封住這些代碼,在開發的過程中,只要能夠調用這些已經寫好的類或接口,來實現其中的方法,或者重寫其中的方法,使其為我們的工作服務,那么就可以節省我們的開發周期。使工作更加高效有序地進行。
套用框架更傾向於面向專業領域的軟體重用,隨著軟體行業的不斷發展,各種系統變得更加複雜,其中所涉及的領域也越來越寬泛,如果每接到一個新的系統重新開始開發,那會是一個很漫長的過程,降低了工作效率。如果團隊中的工作人員各自寫各自的,由於每個人的工作風格不同,編寫代碼的方式也不同,那么這個工程就會變得雜亂無章,並且如果系統出現問題,想要再次維護,更是難上加難。因而SSH框架可以使開發人員在編寫程式時儘量一致,這樣可以減少因工作習慣不同而導致的維護工作複雜的問題。

發展前景

現在市面上流行的框架主要有SSM、SSH等,相比較於SSH、SSM現在用的已經更多,但是其地位依舊沒有怎么改變,就像最初的Jsp、Servlet技術一樣,雖然現在在市面上還使用Jsp、Servlet的人已經越來越少了,但是相關思想一直作為這些框架的基礎,從沒有被撼動。Spring的登頂地位不是沒有道理的,其增強的模組化、面向切面、控制翻轉、依賴注入都是使它成為經典的重要原因。Struts2最大的特點就是不用再重寫或實現Action類,而這些都交給了攔截器處理,使用框架API,其缺點就是不夠靈活。Hibernate的經典之處就是其不論是在哪一種資料庫中都是獨立於DB存在的,並且提供了快取機制,使用起來更加方便。

相關詞條

熱門詞條

聯絡我們