資源描述:
《基于mvc模式的web開發(fā)框架的研究畢業(yè)論文》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、畢業(yè)論文題目:基于MVC模式的WEB開發(fā)框架研究基于MVC模式的WEB開發(fā)框架研究摘要:MVC設(shè)計模式是基于J2EE的Web應(yīng)用開發(fā)的首選模式,當前許多流行的框架也都是基于MVC設(shè)計模式的。本文介紹了MVC設(shè)計模式的結(jié)構(gòu)和優(yōu)缺點,然后介紹了Sun公司提出的再JavaWeb開發(fā)領(lǐng)域的兩種規(guī)范:JSPModel1和JSPModel2、接著介紹了Struts實現(xiàn)MVC的機制,并在此基礎(chǔ)上提出了一種基于MVC模式的新型WEB應(yīng)用開發(fā)框架——WebFramework,并對該框架的各個層次的組成、功能進行了詳細的描述。關(guān)鍵詞:MVC設(shè)計模式
2、;J2EE;Struts;WebFramework1引言52MVC概述52.1MVC設(shè)計模式52.2視圖(View)62.3模型(Model)72.4控制器(Controller)72.5MVC處理過程72.6MVC的優(yōu)點82.7MVC的不足82.8MVC的適用范圍93JSPMODEL1和JSPMODEL293.1早期的JavaWeb開發(fā)93.2JSPModel1103.3JSPModel2114基于STRUTS框架的WEB系統(tǒng)的應(yīng)用114.1Struts如何實現(xiàn)MVC模式124.2Struts框架在Web系統(tǒng)中的實現(xiàn)124.3
3、設(shè)計模式中的模板方法模式的介紹144.4用模板方法模式實現(xiàn)程序控制流144.5Struts的優(yōu)點164.6Struts的不足165WEBFRAMEWORK框架165.1設(shè)計目標165.2框架結(jié)構(gòu)175.3?框架的配置文件20結(jié)論21致謝21參考文獻211引言模型、視圖和控制器即MVC模式是在Smalltalk-80中使用的一種軟件設(shè)計模式,這種模式在應(yīng)用到Web開發(fā)中,也就是SUN公司的Model2架構(gòu),在很多場合這兩個詞交互使用。既然說到了MVC模式,我們不得不提Struts框架體系結(jié)構(gòu),眾所周知,它是MVC的一種很好的實現(xiàn)。
4、Struts框架的核心是一個MVC風(fēng)格的控制器,搭起了模型和視圖之間的支柱橋梁。隨著開源軟件的興起,各種框架也紛紛出現(xiàn),在實際軟件開發(fā)中運用這些框架,大大降低了J2EE開發(fā)的復(fù)雜度和難度,降低了開發(fā)成本。但是這些框架也有不足的地方,如難于掌握,配置復(fù)雜等等。本文研究的目的在于設(shè)計出一種簡單易行的WEB開發(fā)框架——WebFramework,WebFramework結(jié)構(gòu)清晰,易于理解,增加系統(tǒng)的可擴展性,可維護性,降低開發(fā)成本。2MVC概述MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制
5、器"。MVC是XeroxPARC在20世紀80年代為編程語言SmallTalk-80發(fā)明的一種軟件設(shè)計模式,至今已被廣泛使用,最近幾年被推薦為Sun公司J2EE平臺的設(shè)計模式,受到越來越多的Web開發(fā)者的歡迎。2.1MVC設(shè)計模式MVC是一種設(shè)計模式,她強制性地把應(yīng)用程序的輸入、處理和輸出分開。MVC應(yīng)用程序總是由這三個部分組成:模型、視圖和控制器,它們分別擔(dān)負不同的任務(wù)。圖2-1顯示了這幾個模塊各自的功能以及它們的相互關(guān)系。(控制器)接受用戶的請求調(diào)用模型響應(yīng)用戶請求選擇視圖顯示響應(yīng)結(jié)果(模型)代表應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢處理
6、業(yè)務(wù)流程通知視圖業(yè)務(wù)狀態(tài)更新(視圖)顯示模型狀態(tài)接受數(shù)據(jù)更行請求把用戶輸入數(shù)據(jù)傳給控制器業(yè)務(wù)處理選擇視圖狀態(tài)查詢通知數(shù)據(jù)更新用戶請求方法調(diào)用事件ControllerModelView圖2-1MVC設(shè)計模式Event(事件)導(dǎo)致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己。2.2視圖(View)視圖時用戶看到并與之交互的界面。視
7、圖向用戶顯示相關(guān)的數(shù)據(jù),并能接受用戶的輸入數(shù)據(jù),但是它并不進行任何實際的業(yè)務(wù)處理。視圖可以向模型查詢業(yè)務(wù)狀態(tài),但不能改變模型。視圖還能接受模型發(fā)出的數(shù)據(jù)更新事件,從而對用戶界面進行同步更新。對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應(yīng)用可能有很多不同的視圖,MVC設(shè)計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個訂單的視圖只接
8、受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。注:對于基于請求/響應(yīng)方式的主體。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯。一個模型能為多個視圖提供數(shù)據(jù)。由于同一個模型可以被多個視圖重用,所以提高了應(yīng)用的可重用性。2.3模型(Model)模型是應(yīng)