版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 中文3086字</b></p><p> 出處:Yongchang R, Xing T, Xing Z, et al. Application Research for Integrated SSH Combination Framework to Achieve MVC Mode[C]// International Conference on Comput
2、ational and Information Sciences. IEEE Computer Society, 2011:499-502.</p><p> 集成SSH組合框架實現MVC模式的應用研究</p><p> 摘要:MVC是一個面向企業(yè)級應用,成熟而優(yōu)秀的設計模式。J2EE將其作為Web應用程序的模式,但對于目前的各個框架存在的問題,本文使用整合了Struts、Spring
3、和Hibernate三種技術的SSH框架來實現MVC模式。首先,研究一般的MVC設計模式的結構;然后,研究基于Spring、Struts和Hibernate三種技術的SSH組合框架;最后,研究SSH框架的基本業(yè)務流程和操作流程,從而實現MVC模式。結果表明,SSH框架可以充分發(fā)揮三者在各自領域的優(yōu)勢,并通過IoC進行組件的裝配,可以很容易地實現一個開發(fā)簡單、結構合理、功能強大、層次清晰的Web應用程序。</p><p
4、> 關鍵字:MVC模式;SSH框架;Struts;Spring;Hibernate</p><p><b> 引言</b></p><p> 模式是有經驗的設計師,找出問題和解決問題的一種處理方式。 MVC已經成為一個面向企業(yè)級應用,成熟而優(yōu)秀的設計模式??蚣芗夹g是基于某些應用領域的開發(fā)模式,它提供了大量的軟件重用,并為開發(fā)人員提供一個統(tǒng)一的軟件開發(fā)工具包
5、和模型結構,使其從繁瑣的編碼中解脫出來,專注于應用程序的業(yè)務邏輯而屏蔽詳細的底層代碼,從而提高了開發(fā)效率。因此,為了滿足不同應用的需求,需要根據應用和分析來改進和擴大框架的功能。</p><p> 在J2EE方面,MVC作為Web應用程序的首選結構模式,與J2EE應用程序模型的結構和MVC模式設計理念的一致性是分不開的,而且實踐表明,MVC是一個很好的設計模式。J2EE的復雜多層結構決定了大型J2EE項目需要使
6、用框架和設計模式來控制。目前市場上有許多基于J2EE的商業(yè)和開源應用程序框架,其中主流的框架技術都是基于MVC模式的Struts框架,基于IoC模式的Spring框架以及基于對象/關系映射的Hibernate框架。這三個框架都有自己的長處和短處,但是整合這三個框架實現SSH(Struts+Spring+Hibernate)集成架構的MVC模式,可以充分發(fā)揮三者在各自領域的優(yōu)勢,并通過IOC進行組件的裝配,可以很容易地實現一個開發(fā)簡單、結
7、構合理、功能強大、層次清晰的Web應用程序。</p><p><b> MVC設計模式</b></p><p> MVC(模型-視圖-控制器)是以模型、視圖、控制器的第一個字母命名的,根據模型、視圖、控制器的特點將應用程序的輸入、業(yè)務邏輯和輸出進行分離。應用程序可以被分為模型層、視圖層和控制層,結構如圖1所示[1]。</p><p> 圖
8、1 MVC設計模式結構圖</p><p> 視圖代表用戶界面,是用戶和應用程序之間的接口。對于J2EE的Web應用程序,視圖主要是用HTML和JSP來完成的。MVC設計模式對于視圖的處理是不涉及業(yè)務流程的,這里操作將由模型來完成。因此,用戶或接口開發(fā)人員無需掌握數據庫知識和業(yè)務邏輯的操作。</p><p> 模型封裝了應用程序的業(yè)務邏輯和數據結構,實現了軟件的功能,是MVC框架應用程序
9、的核心部分。業(yè)務邏輯的處理是對其他層進行暗箱操作。模型接受視圖請求的數據,并返回最終的處理結果。但是,“模型”并不依賴于“視圖”和“控制器”。</p><p> 控制器起到不同層之間的組織作用,用來控制應用程序的進程和響應事件。 “事件”包括用戶的行為和數據模型的改變。“控制器”是一個調度員,為“模型”或“視圖”分配不同的請求,但控制層并不做任何的數據處理。用戶點擊網頁中的提交按鈕,觸發(fā)控制器,控制器調用相應的
10、模型組件進行業(yè)務操作,最后通過相應的視圖顯示結果。</p><p><b> 集成SSH技術框架</b></p><p> SSH框架通過Spring、Struts和Hibernate三種技術,改進了傳統(tǒng)的J2EE Web開發(fā)模式,形成一個新的、輕量級的J2EE框架??蚣荏w系結構如圖2所示。</p><p> 圖2 集成SSH技術框架結構
11、圖</p><p> 集成SSH框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務邏輯層、數據持久層和域模塊層。其中使用Struts作為系統(tǒng)的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,利用Hibernate框架來支持表現層和Spring管理的業(yè)務層。</p><p> 表現層使用Struts框架。它分為模型,視圖和控制器三部分組成。視圖主要由JSP頁面負責,沒有進程邏輯、業(yè)務
12、邏輯和模型信息,只有相應的標記。控制器是使用ActionServlet接收來自客戶端的所有請求,然后根據配置文件(struts-config.xml)將接收到的請求委派給相應的Action處理。 Struts的沒有定義具體模型層的實現,模型層通常與業(yè)務邏輯緊密相關,并具有持久性的要求。</p><p> 業(yè)務邏輯層使用Spring框架。這是一個強大的輕量級框架,解決了J2EE中許多常見問題,并可以替代EJB技術
13、。Spring框架的核心是IoC(控制反轉)/ DI(依賴注入)機制。Spring框架由七個定義明確的模塊組成,每個模塊或組件都可以單獨存在,也可以與其他的一個或多個模塊結合使用。Spring框架是一個為企業(yè)應用提供的解決方案,同時它也是模塊化的框架,允許開發(fā)者自由的選擇各個模塊來開發(fā)適合他們的應用程序。 </p><p> Hibernate通過對JDBC的封裝,為編程屏蔽了底層數據庫的操作,所以程序員可以專
14、注于面向對象應用程序的開發(fā),提高開發(fā)效率。而程序員訪問數據庫的工作的是通過為持久化對象編寫XML映射文件來完成的。如果要更改底層數據庫,則只需要更改初始配置文件(hibernate.cfg.xml或hibernate.properties),不會對應用程序產生任何影響。 Hibernate為快速發(fā)展的應用提供了底層支持。</p><p> SSH框架實現MVC的操作過程</p><p>
15、 Struts是表現層框架,用戶在表示層的操作看起來好像只作用在表示層,但實際上,要完成頁面操作必須依賴于業(yè)務邏輯層和數據持久層。如表現層通過業(yè)務邏輯來決定哪些數據需要從數據持久層中提取出來,接收數據時需要業(yè)務邏輯框架Spring來實現事務控制和異常處理。所以,用戶在表示層的操作是三個框架協(xié)同工作的過程,如圖3所示[3]。</p><p> 圖3 SSH框架協(xié)同工作流程圖</p><p&g
16、t; 基本業(yè)務流程是:在表示層,首先通過JSP頁面實現交互界面,負責發(fā)送請求和接收響應,然后根據配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應的Action處理。在業(yè)務層中,管理服務組件的Spring IoC容器負責向業(yè)務模型(Action Model)組件和該組件的協(xié)作對象數據處理(DAO)組件提供服務來完成業(yè)務邏輯,并提供事務處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數據
17、的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數據庫交互,處理DAO組件請求的數據,并返回處理結果。在業(yè)務層,管理服務組件的Spring IoC容器負責的行為模式組件和該組件來完成業(yè)務邏輯的DAO提供服務,并提供事務處理,緩沖池等容器組件,以提高系統(tǒng)性能并保證數據的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數據庫交互,處理DAO組件請求的數據,并返回處理結果。具體流程如下所示:</p>
18、<p> 用戶執(zhí)行頁面上的一個動作,觸發(fā)Struts框架接收這個動作,并在配置文件(Struts-config.xml)中找到與之匹配的Action,然后查看配置模塊中驗證屬性的值是否為true,如果是true,則使用數據驗證框架來對ActionForm中指定屬性名稱的數據進行驗證。如果驗證通過,或者驗證屬性的值是false,則使用Action類中指定的屬性類型進行處理。同時,由于集成了Spring業(yè)務邏輯框架,在配置文件
19、中使用的Action類實際上是Spring框架封裝的DelegatingActionProxy代理類,所以,業(yè)務流程的控制權限將從Struts的轉移到Spring。</p><p> 當系統(tǒng)調用Spring代理類,獲得業(yè)務流程控制權限的Spring框架在配置文件(applicationContext.xml)中找到Struts框架所調用的Action類。然后使用Spring的IOC自動為Action注入繼承自H
20、ibernateDaoSupport類的userDAO實例。這個實例是由用戶自己編寫,并且封裝了各種系統(tǒng)所需的業(yè)務邏輯方法和數據訪問代碼。當這個實例對數據進行寫操作時,將使用Hibernate框架來實現數據持久化。當完成此Action的操作后,返回相應的頁面給用戶,同時系統(tǒng)的控制權限將轉移到Struts。</p><p> 綜上所述,Spring框架在整個系統(tǒng)控制的過程中有著重要的作用,它類似于一個簡化的輕量級
21、EJB容器,與EJB容器具有的相同的功能,但是實現這些功能所需要的資源和成本卻顯著降低,而且效率顯著改善。在此框架容器的控制下Hibernate實現了數據持久層,同時,通過這個框架容器以及架構的特性,實現了事務和安全控制。而Struts則通過與Spring集成,將業(yè)務邏輯交給Spring來處理,并與Spring一同控制,提高了數據處理的準確性。</p><p><b> 總結</b><
22、;/p><p> 框架是整個或部分系統(tǒng)的可重用設計,表現為一組抽象構件及構件實例間交互的方法,具有即插即用的可重用性,成熟和良好的團隊協(xié)作的穩(wěn)定性等特點。本文分析了Struts、Spring和Hibernate這三個開源框架,集成了表現層、業(yè)務邏輯層和數據持久層屬于邏輯框架的特點,提出了使用集成Struts、Spring和Hibernate的SSH框架來構建一個輕量級、通用的J2EE開發(fā)平臺,有開發(fā)周期短、低成本、
23、低耦合、易擴展移植等優(yōu)點,用于指導大型Web應用程序的開發(fā)。</p><p><b> 參考文獻</b></p><p> [1] Xu Meng, “The Triple Master Business Management System Design and Implement Based On the SSH2 Framework of MVC Mode,”
24、 Master’s degree of Ocean University of China, 2010.</p><p> [2] Cheng Gang, “The Research and Application of the J2EE Developing Platform Based on SSH,” Master’s degree of Sichuan Normal University, 2007.&
25、lt;/p><p> [3] Wang Chunchao, “Research of base-J2EE Architecture SSH Combination Framework,” Master’s degree of Changchun University of Science and Technology, 2009.</p><p> [4] Liu F, Guo HX, Q
26、i Q, Wang Q, “The Applied Research of E HR System Based on SSH,” Journal Of Wuhan University Of Technology, vol. 31, no. 3, pp. 98-100, 2009.</p><p> [5] Wang Y, Tao ZK, “Design and Implementation of Code G
27、enerator Based on the SSH Framework,” Transactions Of Shenyang Ligong University, vol. 27, no. 1, pp. 25-27, 2008.</p><p> [6] Cheng Y, Li S, Zhao YN, “Research and application of Web framework based on SSH
28、+DWR,” Journal of Nanjing University of Information Science and Technology: Natural Science Edition, vol. 2, no. 5, pp. 455-460, 2010.</p><p> [7] Li Gang, “Struts2 Definitive Guide,” Publishing House of El
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2011年---外文翻譯--集成SSH組合框架實現MVC模式的應用研究 (譯文).doc
- 2011年---外文翻譯--集成SSH組合框架實現MVC模式的應用研究 (譯文).doc
- 2011年---外文翻譯--集成ssh組合框架實現mvc模式的應用研究
- 2011年---外文翻譯--集成ssh組合框架實現mvc模式的應用研究
- 2011年---外文翻譯--集成ssh組合框架實現mvc模式的應用研究 (原文)
- 2011年---外文翻譯--集成SSH組合框架實現MVC模式的應用研究 (原文).pdf
- 2011年---外文翻譯--集成SSH組合框架實現MVC模式的應用研究 (原文).pdf
- 集成ssh組合框架實現mvc模式的應用研究-外文翻譯
- [雙語翻譯]---外文翻譯--集成ssh組合框架實現mvc模式的應用研究
- MVC設計模式下SSH組合框架的研究與設計.pdf
- 基于MVC模式輕量級框架SSH的研究與應用.pdf
- 基于MVC模式的Web框架的應用研究.pdf
- 2011年數據庫管理外文翻譯--基于mvc模式面向數據庫管理的php框架
- 多種MVC框架集成開發(fā)的研究與應用.pdf
- 外文翻譯-----mvc設計模式
- 2011年數據庫管理外文翻譯--基于MVC模式面向數據庫管理的PHP框架.DOCX
- 基于MVC設計模式的Web應用研究與實現.pdf
- 基于MVC模式SSH2框架的企業(yè)物流管理系統(tǒng)的設計與實現.pdf
- 2011年數據庫管理外文翻譯--基于MVC模式面向數據庫管理的PHP框架(英文).PDF
- 基于MVC的Struts框架的應用研究.pdf
評論
0/150
提交評論