999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web開發中MVC設計模式的研究與應用

2014-04-29 00:00:00李詠
企業技術開發·下旬刊 2014年3期

摘 要:文章主要介紹了MVC設計模式的思想、處理過程和優缺點,并著重介紹了目前比較廣泛使用的實現MVC設計模式的開發框架Struts2框架,對它的實現機制以及工作流程作了詳細的分析。

關鍵詞:MVC;設計模式;Struts2;web開發

中圖分類號:TP393 文獻標識碼:A 文章編號:1006-8937(2014)9-0055-02

MVC是Model(模型)-View(視圖)-Controller(控制器)的簡稱。在MVC出現之前,在一個Web項目中,典型的模式是將模型層和控制層結合到視圖層當中,使得各層之間的耦合性非常高,這樣導致后續的維護和擴展工作極其困難,而利用MVC模式能夠很好的解決這些問題,它將一個Web項目分成3個基本的部分,以最少的耦合工作,是目前應用最廣泛的軟件設計模式之一。運用MVC模式能大大減少開發時間,讓開發人員將精力專注在主要的業務邏輯上,而界面程序員則主要專注于表現形式上,很大程度的提高開發效率,降低開發成本,提高Web應用的擴展性及維護性。

1 MVC設計模式

隨著互聯網的流行和發展,近年來,Web在企業信息化的過程中日益扮演著越來越重要的角色,很多公司將B/S體系結構作為它們的首選的開發方式,與C/S結構不同,它將數據和應用程序放在了Server(服務器)上,Client(客戶端)則運用Web瀏覽器,如果邏輯業務發生改變,只需要對服務器進行修改,而不需要對客戶端進行更改,通過這樣的分層,使得Web應用的安全、性能和擴展性得到了大大的提高。

但是現流行的Web項目開發中還存在問題,如缺乏優秀的開發框架,程序易讀性差,開發效率低、代價高等。針對這種情況,為了解決目前軟件開發中遇到的這些問題,亟需一種新的開發模式,因此MVC模式應運而生了。

1.1 MVC思想

MVC是一個設計模式,它將一個Web項目的輸入、輸出和處理分開。在交互式系統中,MVC設計模式將它分解成3個主要的部分,即模型(Model)、視圖(View)和控制器(Controller)。它們分工明確,各自處理自己的工作,各部分的功能如下:

①模型部分:模型是Web應用的核心。它代表業務數據和業務邏輯,可以為多個視圖提供數據。由于同一個Model可以被多個View重用,所以增加了Model的可重用性。

②控制器部分:控制器主要負責所有的用戶請求參數,確定應用程序的行為,決定應該調用哪個模型來處理。它是視圖和模型之間交互的工具。

③視圖部分:視圖是用戶和系統之間交流的媒介,它主要從模型中取出用戶需要的數據,同時還接受用戶的輸入,但自身不做跟業務邏輯有關的事物。視圖通過模型查詢模型的狀態,但不能對模型進行修改。視圖可以接受來自模型發出的數據更新命令,根據命令修改相應的視圖。

1.2 MVC處理過程

第一步:用戶在視圖上發出命令,控制器接收用戶的命令,同時確定調用哪個模型來處理用戶命令;第二步:模型根據用戶的命令并執行對應的邏輯業務操作,同時返回操作結果;第三步:控制器調用對應的視圖并對返回的操作結果做適當的處理,然后在視圖上顯示。

1.3 MVC設計模式的優缺點

1.3.1 MVC的優點

①耦合性低。在目前用戶需求快速變化的情況下,將View和業務層分離,如果系統的需求發生了改變,不需要改動業務層和視圖層,而只需要改變模型層,大大降低了代碼的維護工作。

②重用性高。不同的用戶視圖可以共享相同的服務器端代碼,多個視圖共享相同的模型,很大程度的增加了代碼的可重用性。

③可移植性。模型不依賴于視圖,可以把模型移植到新的平臺。而只需要在移植后的平臺上對Control(控制器)和View(視圖)作簡單的修改,無需改變模型。

1.3.2 MVC的缺點

①因為MVC將整個應用程序分層,實現機制復雜,運用它需要程序員專門去學習它的知識。所以業務簡單的應用程序會讓結構變得復雜,還會產生不必要的數據更新,使得系效率低,所以小型Web應用程序不適合MVC模式。

②View與Control之間相互依賴。視圖和控制器雖然是分開的,但是雙方卻又是緊密聯系在一起的,離開了控制器,視圖的功能受到限制,所以他們之間依賴性大。所以它們很難單獨重用。

③View對Model訪問效率低。由于模型操作的不同接口,視圖一般情況需要調用多次才能獲得所要的數據,這樣對于沒有變化的數據造成多余的訪問,降低了系統的性能。

④目前,有些比較流行工具不能很好的支持MVC模式。如果要使用這些工具來適應MVC模式,那需要付出很大的代價。

2 MVC設計模式的實現—Struts2

2.1 Struts2實現MVC的機制

Struts是一個開源項目,是典型的基于MVC的Web應用框架,在struts中,Model由javabean或EJB組成,控制器由FilterDispatcher和Action來完成,視圖由JSP文件組成。各部分功能如下:

①視圖。負責系統的視圖實現,由jsp組成。這些jsp文件只實現頁面的顯示,沒有涉及到具體的業務邏輯。

②模型。在一些大型的Web應用中,業務邏輯的實現一般讓EJB和JavaBean來完成。Struts為模型層提供了Action和ActionForm組件。

③控制器。控制器一般由Action類和FilterDispatcher類實現。FilterDispatcher類在MVC設計模式中主要起到中央控制器的作用,它接受來自用戶的HTTP請求的信息,根據struts.xml,把信息發送到相應的Action,如果相應的操作對象找不到,那么FilterDispatcher負責創建相應的對象。

④Struts的配置文件struts.xml。Struts.xml是struts的默認配置文件。主要實現View與model之間的對應關系。

2.2 Struts2的工作流程

采用Struts框架的應用程序,在服務啟動之前,會加載并初始化FilterDispatcher。它接收到一個請求時,將執行以下步驟:

①第一步是搜索和用戶請求相對應的Action,如果沒有搜索到,系統將先創建這個實例。

②第二步是用第一步中對應的方法來調用模型中的有關組件來處理業務邏輯,并返回一個字符串,表示下一步負責處理請求的模板組件的邏輯名稱。

③第三步是FilterDispatcher從Struts配置文件中獲取和Action的對應方法返回邏輯名字對應的實際URL,然后再把請求轉發給目標組件。如果這個目標組件是jsp文件,這個jsp文件就會把包含了響應結果的視圖展現給用戶。

3 結 語

一個成功的應用軟件不僅在良好的技術支持,還需要有成功的模式和框架予以指導。MVC設計模式作為一種框架模式在web開發應用當具有重要的意義,它具有獨特的優勢,通過將View(表示層)、Service(業務層)和Action(控制層)分離,降低了每個層間的耦合度,降低了各層之間的依賴,提高了系統的可維護性和重用性。

參考文獻:

[1] 吳剛珂,倪紅美.基于瀏覽器/服務器結構的LIS開發與應用[J].現代檢驗醫學雜志,2012,(6).

[2] 韓明.基于Struts-Spring-Hibernate的Java應用開發[M].北京:電子工業出版社,2006.

[3] 孫衛琴.精通Struts:基于MVC的Java Web設計與開發[M].北京:電子工業出版社,2004.

[4] 涂婷婷,段凡丁.MVC設計模式在B/S開發中的研究與應用[J].計算機技術與發展,2007,(5).

主站蜘蛛池模板: 激情午夜婷婷| 日韩av手机在线| 国产精品一区在线观看你懂的| 一边摸一边做爽的视频17国产| 国产高清又黄又嫩的免费视频网站| 欧美精品亚洲精品日韩专| 精品国产成人a在线观看| 99精品欧美一区| 亚洲日韩精品无码专区97| 欧洲成人免费视频| 亚洲人成网站在线观看播放不卡| 国产va在线| 中文字幕亚洲无线码一区女同| 精品国产自在现线看久久| 日本一区高清| 青青热久免费精品视频6| 亚洲国产成人精品青青草原| 亚洲精品日产精品乱码不卡| 四虎影视8848永久精品| 一级福利视频| 国产成人亚洲毛片| 大香伊人久久| 美女啪啪无遮挡| 国产成人a在线观看视频| 亚洲毛片网站| 亚洲日韩国产精品无码专区| 国产91成人| 国产一区二区精品福利| 丁香婷婷激情网| 国产色伊人| 91成人在线免费视频| 国产午夜精品一区二区三区软件| 99视频精品在线观看| 欧美日韩精品一区二区在线线 | 国产一区成人| 国产人人射| 日韩无码视频网站| 亚洲精品国产精品乱码不卞 | 在线免费看片a| 国产经典免费播放视频| 亚洲日韩高清在线亚洲专区| 日韩亚洲高清一区二区| 91久久夜色精品国产网站| 免费三A级毛片视频| 凹凸精品免费精品视频| 欧美一级特黄aaaaaa在线看片| 精品久久久久久成人AV| 毛片免费在线视频| 免费观看国产小粉嫩喷水| 国产91特黄特色A级毛片| 色婷婷色丁香| 日本免费新一区视频| 欧美中文字幕无线码视频| 在线免费观看a视频| 综1合AV在线播放| 久久久久国色AV免费观看性色| yy6080理论大片一级久久| 高潮毛片无遮挡高清视频播放| 色综合天天综合| 国产99在线| 国产一区成人| 亚洲人成网站观看在线观看| 午夜精品久久久久久久无码软件| 国产亚洲视频免费播放| 精品综合久久久久久97超人该| 超清无码熟妇人妻AV在线绿巨人 | 欧美区一区二区三| 伊人久久婷婷五月综合97色| 国禁国产you女视频网站| 狠狠色婷婷丁香综合久久韩国| 国产精品久久久久婷婷五月| 国产午夜无码片在线观看网站 | 国产 在线视频无码| 免费 国产 无码久久久| 亚洲精品视频免费看| 高清码无在线看| 欧美a在线视频| 国产成人精品高清在线| 国产成人精品视频一区二区电影| 欧美a在线视频| 人人妻人人澡人人爽欧美一区| 免费激情网址|