2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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組合框架實(shí)現(xiàn)MVC模式的應(yīng)用研究</p><p>  摘要:MVC是一個(gè)面向企業(yè)級(jí)應(yīng)用,成熟而優(yōu)秀的設(shè)計(jì)模式。J2EE將其作為Web應(yīng)用程序的模式,但對于目前的各個(gè)框架存在的問題,本文使用整合了Struts、Spring

3、和Hibernate三種技術(shù)的SSH框架來實(shí)現(xiàn)MVC模式。首先,研究一般的MVC設(shè)計(jì)模式的結(jié)構(gòu);然后,研究基于Spring、Struts和Hibernate三種技術(shù)的SSH組合框架;最后,研究SSH框架的基本業(yè)務(wù)流程和操作流程,從而實(shí)現(xiàn)MVC模式。結(jié)果表明,SSH框架可以充分發(fā)揮三者在各自領(lǐng)域的優(yōu)勢,并通過IoC進(jìn)行組件的裝配,可以很容易地實(shí)現(xiàn)一個(gè)開發(fā)簡單、結(jié)構(gòu)合理、功能強(qiáng)大、層次清晰的Web應(yīng)用程序。</p><p

4、>  關(guān)鍵字:MVC模式;SSH框架;Struts;Spring;Hibernate</p><p><b>  引言</b></p><p>  模式是有經(jīng)驗(yàn)的設(shè)計(jì)師,找出問題和解決問題的一種處理方式。 MVC已經(jīng)成為一個(gè)面向企業(yè)級(jí)應(yīng)用,成熟而優(yōu)秀的設(shè)計(jì)模式。框架技術(shù)是基于某些應(yīng)用領(lǐng)域的開發(fā)模式,它提供了大量的軟件重用,并為開發(fā)人員提供一個(gè)統(tǒng)一的軟件開發(fā)工具包

5、和模型結(jié)構(gòu),使其從繁瑣的編碼中解脫出來,專注于應(yīng)用程序的業(yè)務(wù)邏輯而屏蔽詳細(xì)的底層代碼,從而提高了開發(fā)效率。因此,為了滿足不同應(yīng)用的需求,需要根據(jù)應(yīng)用和分析來改進(jìn)和擴(kuò)大框架的功能。</p><p>  在J2EE方面,MVC作為Web應(yīng)用程序的首選結(jié)構(gòu)模式,與J2EE應(yīng)用程序模型的結(jié)構(gòu)和MVC模式設(shè)計(jì)理念的一致性是分不開的,而且實(shí)踐表明,MVC是一個(gè)很好的設(shè)計(jì)模式。J2EE的復(fù)雜多層結(jié)構(gòu)決定了大型J2EE項(xiàng)目需要使

6、用框架和設(shè)計(jì)模式來控制。目前市場上有許多基于J2EE的商業(yè)和開源應(yīng)用程序框架,其中主流的框架技術(shù)都是基于MVC模式的Struts框架,基于IoC模式的Spring框架以及基于對象/關(guān)系映射的Hibernate框架。這三個(gè)框架都有自己的長處和短處,但是整合這三個(gè)框架實(shí)現(xiàn)SSH(Struts+Spring+Hibernate)集成架構(gòu)的MVC模式,可以充分發(fā)揮三者在各自領(lǐng)域的優(yōu)勢,并通過IOC進(jìn)行組件的裝配,可以很容易地實(shí)現(xiàn)一個(gè)開發(fā)簡單、結(jié)

7、構(gòu)合理、功能強(qiáng)大、層次清晰的Web應(yīng)用程序。</p><p><b>  MVC設(shè)計(jì)模式</b></p><p>  MVC(模型-視圖-控制器)是以模型、視圖、控制器的第一個(gè)字母命名的,根據(jù)模型、視圖、控制器的特點(diǎn)將應(yīng)用程序的輸入、業(yè)務(wù)邏輯和輸出進(jìn)行分離。應(yīng)用程序可以被分為模型層、視圖層和控制層,結(jié)構(gòu)如圖1所示[1]。</p><p>  圖

8、1 MVC設(shè)計(jì)模式結(jié)構(gòu)圖</p><p>  視圖代表用戶界面,是用戶和應(yīng)用程序之間的接口。對于J2EE的Web應(yīng)用程序,視圖主要是用HTML和JSP來完成的。MVC設(shè)計(jì)模式對于視圖的處理是不涉及業(yè)務(wù)流程的,這里操作將由模型來完成。因此,用戶或接口開發(fā)人員無需掌握數(shù)據(jù)庫知識(shí)和業(yè)務(wù)邏輯的操作。</p><p>  模型封裝了應(yīng)用程序的業(yè)務(wù)邏輯和數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)了軟件的功能,是MVC框架應(yīng)用程序

9、的核心部分。業(yè)務(wù)邏輯的處理是對其他層進(jìn)行暗箱操作。模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。但是,“模型”并不依賴于“視圖”和“控制器”。</p><p>  控制器起到不同層之間的組織作用,用來控制應(yīng)用程序的進(jìn)程和響應(yīng)事件。 “事件”包括用戶的行為和數(shù)據(jù)模型的改變。“控制器”是一個(gè)調(diào)度員,為“模型”或“視圖”分配不同的請求,但控制層并不做任何的數(shù)據(jù)處理。用戶點(diǎn)擊網(wǎng)頁中的提交按鈕,觸發(fā)控制器,控制器調(diào)用相應(yīng)的

10、模型組件進(jìn)行業(yè)務(wù)操作,最后通過相應(yīng)的視圖顯示結(jié)果。</p><p><b>  集成SSH技術(shù)框架</b></p><p>  SSH框架通過Spring、Struts和Hibernate三種技術(shù),改進(jìn)了傳統(tǒng)的J2EE Web開發(fā)模式,形成一個(gè)新的、輕量級(jí)的J2EE框架??蚣荏w系結(jié)構(gòu)如圖2所示。</p><p>  圖2 集成SSH技術(shù)框架結(jié)構(gòu)

11、圖</p><p>  集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,利用Hibernate框架來支持表現(xiàn)層和Spring管理的業(yè)務(wù)層。</p><p>  表現(xiàn)層使用Struts框架。它分為模型,視圖和控制器三部分組成。視圖主要由JSP頁面負(fù)責(zé),沒有進(jìn)程邏輯、業(yè)務(wù)

12、邏輯和模型信息,只有相應(yīng)的標(biāo)記??刂破魇鞘褂肁ctionServlet接收來自客戶端的所有請求,然后根據(jù)配置文件(struts-config.xml)將接收到的請求委派給相應(yīng)的Action處理。 Struts的沒有定義具體模型層的實(shí)現(xiàn),模型層通常與業(yè)務(wù)邏輯緊密相關(guān),并具有持久性的要求。</p><p>  業(yè)務(wù)邏輯層使用Spring框架。這是一個(gè)強(qiáng)大的輕量級(jí)框架,解決了J2EE中許多常見問題,并可以替代EJB技術(shù)

13、。Spring框架的核心是IoC(控制反轉(zhuǎn))/ DI(依賴注入)機(jī)制。Spring框架由七個(gè)定義明確的模塊組成,每個(gè)模塊或組件都可以單獨(dú)存在,也可以與其他的一個(gè)或多個(gè)模塊結(jié)合使用。Spring框架是一個(gè)為企業(yè)應(yīng)用提供的解決方案,同時(shí)它也是模塊化的框架,允許開發(fā)者自由的選擇各個(gè)模塊來開發(fā)適合他們的應(yīng)用程序。 </p><p>  Hibernate通過對JDBC的封裝,為編程屏蔽了底層數(shù)據(jù)庫的操作,所以程序員可以專

14、注于面向?qū)ο髴?yīng)用程序的開發(fā),提高開發(fā)效率。而程序員訪問數(shù)據(jù)庫的工作的是通過為持久化對象編寫XML映射文件來完成的。如果要更改底層數(shù)據(jù)庫,則只需要更改初始配置文件(hibernate.cfg.xml或hibernate.properties),不會(huì)對應(yīng)用程序產(chǎn)生任何影響。 Hibernate為快速發(fā)展的應(yīng)用提供了底層支持。</p><p>  SSH框架實(shí)現(xiàn)MVC的操作過程</p><p>

15、  Struts是表現(xiàn)層框架,用戶在表示層的操作看起來好像只作用在表示層,但實(shí)際上,要完成頁面操作必須依賴于業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。如表現(xiàn)層通過業(yè)務(wù)邏輯來決定哪些數(shù)據(jù)需要從數(shù)據(jù)持久層中提取出來,接收數(shù)據(jù)時(shí)需要業(yè)務(wù)邏輯框架Spring來實(shí)現(xiàn)事務(wù)控制和異常處理。所以,用戶在表示層的操作是三個(gè)框架協(xié)同工作的過程,如圖3所示[3]。</p><p>  圖3 SSH框架協(xié)同工作流程圖</p><p&g

16、t;  基本業(yè)務(wù)流程是:在表示層,首先通過JSP頁面實(shí)現(xiàn)交互界面,負(fù)責(zé)發(fā)送請求和接收響應(yīng),然后根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,管理服務(wù)組件的Spring IoC容器負(fù)責(zé)向業(yè)務(wù)模型(Action Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件提供服務(wù)來完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)

17、的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。在業(yè)務(wù)層,管理服務(wù)組件的Spring IoC容器負(fù)責(zé)的行為模式組件和該組件來完成業(yè)務(wù)邏輯的DAO提供服務(wù),并提供事務(wù)處理,緩沖池等容器組件,以提高系統(tǒng)性能并保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。具體流程如下所示:</p>

18、<p>  用戶執(zhí)行頁面上的一個(gè)動(dòng)作,觸發(fā)Struts框架接收這個(gè)動(dòng)作,并在配置文件(Struts-config.xml)中找到與之匹配的Action,然后查看配置模塊中驗(yàn)證屬性的值是否為true,如果是true,則使用數(shù)據(jù)驗(yàn)證框架來對ActionForm中指定屬性名稱的數(shù)據(jù)進(jìn)行驗(yàn)證。如果驗(yàn)證通過,或者驗(yàn)證屬性的值是false,則使用Action類中指定的屬性類型進(jìn)行處理。同時(shí),由于集成了Spring業(yè)務(wù)邏輯框架,在配置文件

19、中使用的Action類實(shí)際上是Spring框架封裝的DelegatingActionProxy代理類,所以,業(yè)務(wù)流程的控制權(quán)限將從Struts的轉(zhuǎn)移到Spring。</p><p>  當(dāng)系統(tǒng)調(diào)用Spring代理類,獲得業(yè)務(wù)流程控制權(quán)限的Spring框架在配置文件(applicationContext.xml)中找到Struts框架所調(diào)用的Action類。然后使用Spring的IOC自動(dòng)為Action注入繼承自H

20、ibernateDaoSupport類的userDAO實(shí)例。這個(gè)實(shí)例是由用戶自己編寫,并且封裝了各種系統(tǒng)所需的業(yè)務(wù)邏輯方法和數(shù)據(jù)訪問代碼。當(dāng)這個(gè)實(shí)例對數(shù)據(jù)進(jìn)行寫操作時(shí),將使用Hibernate框架來實(shí)現(xiàn)數(shù)據(jù)持久化。當(dāng)完成此Action的操作后,返回相應(yīng)的頁面給用戶,同時(shí)系統(tǒng)的控制權(quán)限將轉(zhuǎn)移到Struts。</p><p>  綜上所述,Spring框架在整個(gè)系統(tǒng)控制的過程中有著重要的作用,它類似于一個(gè)簡化的輕量級(jí)

21、EJB容器,與EJB容器具有的相同的功能,但是實(shí)現(xiàn)這些功能所需要的資源和成本卻顯著降低,而且效率顯著改善。在此框架容器的控制下Hibernate實(shí)現(xiàn)了數(shù)據(jù)持久層,同時(shí),通過這個(gè)框架容器以及架構(gòu)的特性,實(shí)現(xiàn)了事務(wù)和安全控制。而Struts則通過與Spring集成,將業(yè)務(wù)邏輯交給Spring來處理,并與Spring一同控制,提高了數(shù)據(jù)處理的準(zhǔn)確性。</p><p><b>  總結(jié)</b><

22、;/p><p>  框架是整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實(shí)例間交互的方法,具有即插即用的可重用性,成熟和良好的團(tuán)隊(duì)協(xié)作的穩(wěn)定性等特點(diǎn)。本文分析了Struts、Spring和Hibernate這三個(gè)開源框架,集成了表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層屬于邏輯框架的特點(diǎn),提出了使用集成Struts、Spring和Hibernate的SSH框架來構(gòu)建一個(gè)輕量級(jí)、通用的J2EE開發(fā)平臺(tái),有開發(fā)周期短、低成本、

23、低耦合、易擴(kuò)展移植等優(yōu)點(diǎn),用于指導(dǎo)大型Web應(yīng)用程序的開發(fā)。</p><p><b>  參考文獻(xiàn)</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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論