郭平



摘 要:MVC設計模式是一種可靠有效的開發模式,它實現了業務邏輯和顯示界面的分離,在Web應用開發中廣泛地使用,該文簡要介紹了MVC設計模式,討論了MVC模式在Java Web應用中的實現,最后給出了一個基于MVC模式的Java Web登錄程序的實例。
關鍵詞: MVC 設計模式 Web應用 Java
中圖分類號:TP393 文獻標識碼:A 文章編號:1672-3791(2017)07(c)-0008-03
隨著互聯網技術的發展,基于B/S模式的Web應用系統已成趨勢,用戶界面完全通過瀏覽器實現,主要的事務邏輯在服務器端實現。Java Web應用程序是采用Java技術開發的Web應用程序,在Java Web的開發應用中使用MVC模式能夠使得系統更容易擴展、部署和維護,提高開發效率。
1 MVC模式
MVC(Model-View-Controller)是20世紀80年代發明的一種軟件設計模式。MVC模式將交互式應用分成模型(Model)、視圖(View)和控制器(Controller)3個部分。
Model是從現實世界中抽象出來的對象模型,模型封裝了數據和對數據的操作,并進行數據處理計算。View是應用和用戶之間的接口,負責將應用呈現給用戶。Controller負責視圖和模型之間的交互,控制對用戶輸入的響應、響應方式和流程,它主要負責:(1)把用戶的請求分發到相應的模型。(2)將模型的改變及時反映到視圖上。將MVC設計模式運用在Web項目開發上,可以很大程度地節約開發時間,將軟件開發人員的精力集中在業務邏輯上,不僅減少了項目開發的成本,還大大提高了開發效率,增強了Web應用系統的維護性和延展性。
2 MVC模式在Java Web應用中的實現
經典MVC模式在桌面程序中發揮了很重要的作用,隨著軟件規模的不斷擴大,MVC設計模式正在應用到各種應用程序的設計中。Sun公司提出了兩種web應用程序的開發方式,分別稱為模式1和模式2。
模式1以JSP為中心,JSP頁面響應用戶請求并將處理結果返回客戶,數據讀取由JavaBean完成。這種模式中JSP頁面同時實現業務邏輯、數據顯示和流程控制,適合開發小規模的Web應用程序,但不能滿足復雜的大型應用程序的開發需求。
模式2基于MVC設計模式,由不同的組件分別實現應用邏輯、處理過程和顯示邏輯,這些組件可以進行交互和重用,以Servlet為核心,具體實現如下。
Model:JavaBean對象,用于封裝商業規則和存儲數據。
View:JSP頁面,接收Servlet傳遞的內容,調用JavaBean并顯示其中的數據給用戶。
Controller:Servlet對象,負責所有的用戶請求參數,判斷請求參數是否合法,根據請求的類型調用JavaBean執行操作并將處理結果交由View顯示。
模式2充分發揮了JSP和Servlet的技術特點,JSP頁面擅長數據顯示,適合做顯示層,避免在JSP中大量使用Java代碼來處理數據;Servlet擅長數據處理,應避免在其中有大量的HTML標記輸出。模式2分離了顯示層和業務層,有利于軟件的擴展和維護。從軟件工程化的角度來講,有利于開發團隊各司其職,有利于軟件開發的工程化管理。
模式1適合小型的程序開發,開發速度快,如果程序復雜,考慮到代碼的維護工作,一般采用模式2。
3 Web實例
以一個Web用戶登錄程序為例說明MVC設計模式在實際開發中的主要作用。用戶登錄功能是Web應用系統需要實現的基本功能之一,設計一個簡單的用戶登錄Web應用,該程序中,用戶輸入的登錄信息提交給Servlet,Servlet接收后,首先檢驗輸入內容的合法性,若驗證失敗則將錯誤信息傳遞給登錄頁顯示;若數據合法則調用DAO層完成數據庫的驗證,根據驗證的結果跳轉到登錄成功或登錄失敗的頁面。
(1)MVC登錄程序流程,如圖1所示。
(2)MVC登錄程序清單。
使用Mysql數據庫,數據庫名稱為mvcsql,表名稱為:user,其中含有三個屬性,分別為:(userid,name,password)(見表1)。
(3)部分代碼。
4 結語
該文以MVC模式結合Web實例,完整地分析了開發Web應用程序的解決方案,MVC模式是解決開發Web應用程序的一種非常有效的模式,它為Web應用開發提供了統一的、標準的開發模式,將web系統中的數據對象、業務邏輯、用戶界面三者分離,使得系統具有很好的擴展性,縮短了開發周期,便于后期的維護,在今天仍將得到廣泛的應用。
參考文獻
[1] 任小敏,鐘寶榮.MVC模式在Java程序中的應用及實現,信息系統工程,2011(11):50.
[2] 馮玉萍.基于MVC的設計與開發[J].科技風,2010(5):25.