資源描述:
《基于javaee架構的ssh框架的研究》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、基于JavaEE架構的SSH框架的研究摘要:眼下企業(yè)在構建其應用平臺的時候,在架構上首選JavaEE。此架構的框架通常是Struts、Spring、Hibernate。若把3種框架合理結合,系統(tǒng)在開發(fā)效率方面不僅可提高,同時也可讓系統(tǒng)顯得更為穩(wěn)定、健壯及安全。本文首先對多層體系的JavaEE進行簡述,然后在特征上對3種框架分別作介紹,最后對整合下的3種框架(SSH框架)的獨特之處作概括。關鍵詞:架構;JavaEE;框架;SSH;研究中圖分類號:TP311.52框架的好處一是讓開發(fā)效率得以提升,二是給軟件復用開辟新途徑,所以對框架在強健與穩(wěn)定方面的構建長久被關注。
2、本文從對多層體系的JavaEE進行剖析出發(fā),接著對Struts、Spring和Hibernate進行分析,最后整合這3種框架構建成SSH框架。一來讓各層耦合度降低,二來對系統(tǒng)在移植、開發(fā)效率、維護上都有提高。1JavaEE總述1.1JavaEE的多層體系簡述9平常說架構也可被稱為體系結構。架構指:作為一種結構,用來對其它東西進行支持、封裝;尤其骨架性的支持,在構建其它事物上它是基礎。JavaEE的分層結構是:客戶層、WEB表示層、業(yè)務邏輯層、持久層、數(shù)據(jù)庫層[1]。WEB表示層用框架Struts來實現(xiàn),它把標簽、信息資源及JSP等整合,讓業(yè)務邏輯同顯示邏輯兩者分
3、離。業(yè)務邏輯層用框架Spring來實現(xiàn),它把輕量級容器(基于IOC)作核心,編程思想用的是面向切面(AOP),在非侵入性方面讓編碼得以實現(xiàn)。持久層用框架Hibernate來實現(xiàn),對數(shù)據(jù)庫表同領域模型對象間的ORM映射進行實現(xiàn),使人工利用JDBC處理、SQL的時間縮減不少[2]。1.2JavaEE的缺陷1.2.1成本高對容器EJB來說,一是組件供應商必須給予復用組件做支撐;二是容器供應商必須給予合適的底層環(huán)境讓其運行;三是服務器供應商必須給予應用服務器才可讓組件部署、容納、管理得以實現(xiàn);四是系統(tǒng)部署員必須將組件在2個以上的服務器中做部署,這些均會耗費極大支出成本。
4、1.2.2開發(fā)思想限制大遵照EJB機制就必須用EJB的規(guī)范對組件進行編寫,再在容器里部署運行。組件編寫時,用戶訪問的遠程及引導接口必須被編寫,一旦用戶對這2個接口進行訪問,容器就會即刻攔截訪問并將其接管,通過Beans對應的辦法調(diào)用來實現(xiàn)。開發(fā)思想限制太大讓諸多問題解決受挫。1.2.3EJB調(diào)用的缺陷9軟件開發(fā)時在對服務的調(diào)用方面,EJB機制卻是種束縛。整個部署中,對對象機制做定位的在EJB中是JNDI。無論對象定位還是獲取服務都是顯式的,如在代碼中調(diào)用者要組件做什么服務,或者服務名字是什么,并且代碼還要對JNDI編碼方式及特定接口上加以實現(xiàn),對代碼復用都顯然不
5、利,耦合性也會增加。再者服務查找也是顯式的,EJB的重量級再次體現(xiàn)。1.2.4處理持久化的缺陷說到持久化往往選擇分2種:第一是容器管理方面的持久化;第二是Bean管理方面的持久化。選擇第一種容器管理方面的持久化,則必須于Bean類中,對字段變量先做相應定義,同時在容器、服務器上部署持久化信息。雖然工作量省下挺多,但成本極為不劃算。再者將來對持久化信息做改變也不靈活,功能極為有限。選擇第二種Bean管理方面的持久化,雖然系統(tǒng)靈活問題不存在,可是避免不了對JDBC做代碼編寫,而且凡是操作同數(shù)據(jù)庫沾邊的代碼都要編寫,一來重復性過強;二來尤其在業(yè)務邏輯方面,對其代碼有太
6、強侵入性。2Struts、Spring和Hibernate框架簡述2.1Struts框架2.1.1Struts簡述9該框架被基金會(Apache)視作開源軟件。一方面在穩(wěn)定、成熟及高效上從項目Apache里得以繼承,另一方面在流程控制及Taglib上也極其強大。此框架是對MVC模式良好應用的典范。所謂MVC指:把模型、控制器與視圖的英文首字母取出并拼到一起。在實現(xiàn)組件方面由此框架給這3個類分別提供。2.1.2Struts優(yōu)缺點MVC所有優(yōu)勢被Struts繼承,還在新內(nèi)容上加以擴展。優(yōu)勢涵蓋:(1)此框架是開源的。對設計者,一來開源意味著使用免費;二來開源可在實現(xiàn)
7、機制上對MVC透徹了解;三來在全世界此框架受諸多設計員支持。(2)包含強大標記庫(Tablib)。借此框架可做代碼抽象及復用,使開發(fā)效率得以提升。另外也可做驗證工作,使驗證代碼不必重復寫,這樣工作量得以減少,驗證代碼更易集中管理。(3)系統(tǒng)導航聯(lián)系不同部分,系統(tǒng)脈絡更清晰,對系統(tǒng)整體設計員也更好把握,在擴充維護方面系統(tǒng)也有提升。此框架盡管優(yōu)勢較多,但劣勢也難以忽略:(1)對于初學者來說,要想對此框架進行透徹掌握須花費大量時間,原因是它會讓學習者將長久形成的編寫習慣完全打破。9(2)盡管此框架在結構上更加清晰,但無疑這也會使系統(tǒng)變得更復雜。(3)從出現(xiàn)至今,此框架
8、時刻在變更,眼下該框架無