ssh框架

ssh框架

Web應用程序開源框架
SSH框架是由struts+spring+hibernate集成的一個Java Web開發框架[1]。是16年之前較為流行的一種Web應用程序開源框架。區别于 Secure Shell。集成SSH框架的系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層,以幫助開發人員在短期内搭建結構清晰、可複用性好、維護方便的Web應用程序。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。
    中文名: 外文名:struts+spring+hibernate 所屬學科: 縮寫:SSH 屬性:Web應用程序開源框架 學科:計算機

定義

SSH框架集,是現在大多數軟件設計過程中都會使用的一種框架集。而這種框架是基于MVC的開發,且MVC模式已經成為現代J2EE開發中的一種常用模式,且受到越來越多JSP、PHP等開發者的歡迎。MVC模式,分别是模型(Model)、視圖(View)、控制器(Controller)。

應用程序被分割成這三大部分之後,各自處理自己的任務。視圖層通過提取用戶的輸入信息,提交到控制器之後,控制器根據某種選擇來決定這個請求交由給模型層來處理,模型層根據業務邏輯的代碼處理用戶請求并返回數據,并最終用視圖層展示給用戶。

而前面提到的SSH框架集,就是很好的對應了MVC模式的開發使用。這種Struts+Hibernate+Spring的三大框架整合,契合着MVC模式的三層對象。其中Struts對應着前台的控制層,而Spring則負責實體bean的業務邏輯處理,至于Hibernate則是負責數據庫的交接以及使用Dao接口來完成操作。

框架結構

StrutsnStruts與SSH框架-樣同樣具有開源性,合理恰當的使用Struts技術可以在一定程度上減少基于MVC模型的Web應用系統的開發時間,從而有效控制系統開發成本。事實上,絕大多數程序員在使用Servlet和JSP的可擴展的應用時已經将Struts框架技術作為系統開發的标準。

Struts技術基于MVC框架,Struts的實現依賴Servlet和JSP實現。EJB和JavaBean兩個組件是Struts框架業務功能實現的基礎部件;Action和ActionServlet部件是框架實現控制力能的重要部件;視圖部分則是由若幹存在内在聯系的JSP文件有機構成,來實現系統功能。其工作原理如下:n

1、使用者通過浏覽器客戶端發送HTIP協議的數據請求。n

2、HITP請求到達服務器後,經過控制器,使用框架結構填充FormBean。n

3、經過填充的數據請求通過框架中控制器的Action組件進行數據業務處理。n

4、經過控制器處理過的業務數據調用struts的基礎部件實現業務邏輯。n

5、将業務邏輯經過轉換形成JSP業務進行處理,井将處理結果返回。n

6、用戶在客戶端或者浏覽器上得到HTTP請求的響應。

Hibernate

Hibernate,是負責了跟數據庫的交接。通過持久化數據對象,進行對象關系的映射,并以對象的角度來訪問數據庫。通過封裝JDBC,使得開發人員可以以面向對象編程的思想來操控數據庫,從而擺脫了以往使用JDBC編程時的“死闆”操作。通過hibernate.cfg.xml文件來取代以往的JDBC連接數據庫的一大串代碼,通過XXX(實體Bean的類名).hbm.xml文件來與數據庫的具體表進行映射。

并且Hibernate有自己的HQL語句,與數據庫的SQL語句相似,但不同的是HQL語句在面向對象編程的角度上,通過Session的createQuery方法創建戶一個query對象,由這個對象來完成對數據庫的增删改查等操作。通過Struts2中Action的返回值,來調用Dao層中的業務處理。n

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代碼和HTML代碼,降低了對開發人員要求的複合度。二、是系統的層與層之間的工作相是對獨立的,代碼耦合度低。三即使脫離了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存在的,并且提供了緩存機制,使用起來更加方便。

上一篇:二級緩存

下一篇:對稱加密算法

相關詞條

相關搜索

其它詞條