◆劉震林 喻春梅
基于MVC模式的JAVA Web開發(fā)與實踐應(yīng)用研究
◆劉震林 喻春梅
(四川三河職業(yè)學(xué)院 四川 646200)
MVC是一種全新的軟件設(shè)計方式,包含了模型、視圖以及控制器三大板塊,模型中包含了數(shù)據(jù)及其操作方式,視圖能夠?qū)⑾到y(tǒng)中的內(nèi)容顯示給使用者,控制器能夠?qū)崿F(xiàn)視圖以及模型兩者間的信息交流,在將MVC應(yīng)用到Java web應(yīng)用開發(fā)時,具有模式1和模式2兩種類型,分別依托于JSP以及MVC實現(xiàn)的,前者適用于小規(guī)模程序開發(fā),后者適用于大規(guī)模且需要維護(hù)的應(yīng)用開發(fā)上。
MVC模式;JAVA Web;應(yīng)用
伴隨著現(xiàn)代互聯(lián)網(wǎng)技術(shù)的不斷突破,將B/S模式融入Web應(yīng)用系統(tǒng)中已經(jīng)成了發(fā)展的主要方向,使用者只需要通過瀏覽器就可以進(jìn)行系統(tǒng)操作,而關(guān)鍵的事務(wù)邏輯在服務(wù)器中計算完成。Java web應(yīng)用程序是指依托于Java編程技術(shù)實現(xiàn)的web應(yīng)用程序,隨著現(xiàn)代社會的不斷發(fā)展,人們對Java web應(yīng)用程序的要求越來越高,必須要對應(yīng)用模式進(jìn)行改變和創(chuàng)新,為此,本文重點(diǎn)分析了MVC模式在Java web開發(fā)中的應(yīng)用,并通過實際案例驗證了基于MVC模式的Java web程序設(shè)計可以有效提升系統(tǒng)的拓展性,讓系統(tǒng)更加的容易部署與維護(hù),也能夠顯著降低應(yīng)用程序設(shè)計周期,具有較高的研究價值。
MVC是20世紀(jì)中后期出現(xiàn)的一種全新的軟件設(shè)計方式。將MVC模式應(yīng)用到交互式軟件設(shè)計中時,能夠?qū)④浖O(shè)計劃分為模型(Model)、視圖(View)以及控制器(Controller)三大板塊[1]。
模型是從實際生活中提取出來的對象模型,模型中包含了各種數(shù)據(jù)以及不同數(shù)據(jù)操作方式,同時還能夠?qū)?shù)據(jù)進(jìn)行計算與處理[2]。視圖是軟件系統(tǒng)和使用者之間的連接口,其工作職責(zé)是將系統(tǒng)中的內(nèi)容顯示給使用者??刂破鲗崿F(xiàn)的功能是完成視圖以及模型兩者間的信息交流,同時對使用者的各種操作給予響應(yīng),管理響應(yīng)模式與途徑,具體來說包含了兩個部分:一方面,將使用者的輸入命令傳輸?shù)礁鱾€對應(yīng)的模型上;另一方面,當(dāng)模型出現(xiàn)變化時,控制器需要將這些改變反饋給視圖[3]?;贛VC模式進(jìn)行web應(yīng)用程序的設(shè)計與開發(fā),能夠顯著的降低應(yīng)用程序設(shè)計周期,使得設(shè)計人員的工作重點(diǎn)能夠放置在業(yè)務(wù)邏輯開發(fā)上,一方面可以降低應(yīng)用程序開發(fā)費(fèi)用,另一方面也可以很好提升應(yīng)用程序開發(fā)效率,與此同時還能夠使得設(shè)計完成的web應(yīng)用程序具有良好的維護(hù)性以及拓展性[4]。
傳統(tǒng)的MVC模式在計算機(jī)桌面程序中起到了關(guān)鍵性的作用,隨著現(xiàn)代計算機(jī)軟件體積的越來越大,MVC模式在計算機(jī)軟件設(shè)計與開發(fā)中的應(yīng)用越來越廣泛。Sun Microsystems公司將Java web應(yīng)用程序的開發(fā)模式劃分為兩種類型,分別為模式1與模式2。
模式1是依托于JSP為核心實現(xiàn)的,在JSP頁面上能夠?qū)κ褂谜叩某绦蛑噶钸M(jìn)行響應(yīng),再將最終計算結(jié)果反饋給使用者,在此過程中JavaBean負(fù)責(zé)對各種數(shù)據(jù)進(jìn)行讀取。通過這種模式的應(yīng)用,既能夠在JSP頁面上控制業(yè)務(wù)邏輯,同時也能夠進(jìn)行數(shù)據(jù)顯示以及流程控制,能夠很好滿足體積較小web程序的開發(fā),但是無法滿足大規(guī)模的應(yīng)用程序的設(shè)計要求[5]。
模式2是以MVC為核心設(shè)計的,通過各種形式的組件來共同完成應(yīng)用邏輯、處理流程以及現(xiàn)實邏輯,在此過程中所有的組件都能夠進(jìn)行交互以及重復(fù)運(yùn)用,正常來說是通過以下方式來實現(xiàn)的[6]。
模型:JavaBean的主要服務(wù)目標(biāo),需要實現(xiàn)的功能是定性商業(yè)規(guī)則以及對數(shù)據(jù)進(jìn)行存儲。
視圖:以JSP頁面為載體,對從Servlet傳輸過來的內(nèi)容進(jìn)行接收,在完成JavaBean訪問以后將內(nèi)部數(shù)據(jù)信息顯示給使用者。
控制器:Servlet的主要服務(wù)目標(biāo),需要處理并完成各個使用者的請求參數(shù),并對參數(shù)的有效性進(jìn)行判定,依照不同的請求類型選取相應(yīng)的JavaBean進(jìn)行操作,同時將處理結(jié)束的數(shù)據(jù)傳輸?shù)揭晥D上,顯示給使用者。
模式1的開發(fā)方式一般應(yīng)用到小規(guī)模的程序應(yīng)用開發(fā)上,開發(fā)周期短,成本投入低,但是當(dāng)程序應(yīng)用規(guī)模較大,同時要進(jìn)行代碼維護(hù)時,則選取模式2比較適宜[7]。
為了進(jìn)一步探究基于MVC模式的Java web應(yīng)用程序開發(fā)方式,以某個Web用戶登錄程序為代表進(jìn)行重點(diǎn)說明。在Web應(yīng)用程序開發(fā)中,用戶登錄功能是非常重要的一部分,因此設(shè)計了一個較為基礎(chǔ)的用戶登錄Web應(yīng)用,在應(yīng)用程序中,使用者錄入登錄信息以后傳輸給Servlet,緊接著進(jìn)行信息有效性的辨別,假如最終檢測的信息不合法,則向使用者顯示失敗信息;若信息檢測合法,則訪問DAO層進(jìn)行數(shù)據(jù)庫驗證,再依照最終的結(jié)果顯示成功或者失敗信息。具體如下:
第一,MVC登錄程序示意圖,如圖1所示。
圖1 MVC登錄程序示意圖
第二,MVC登錄程序列表。選取MySQL數(shù)據(jù)庫,將其命名為mvcsql,涵蓋了三大部分,分別是名稱、文件類型以及詳情,如表1所示。
表1 MVC登錄程序列表
第三,程序代碼。代碼包含了DatabaseConnection類、IUserDAO類、DAOFactory類以及登錄頁等。
第四,程序運(yùn)行結(jié)果,如圖2所示。
圖2 Login.jsp頁面展示圖
綜上所述,本文以實踐應(yīng)用為例探究了基于MVC模式的Java web應(yīng)用程序開發(fā),指出MVC模式是當(dāng)下web應(yīng)用程序開發(fā)中非常便捷、有效的方法,實現(xiàn)了數(shù)據(jù)對象、業(yè)務(wù)邏輯以及使用者界面的相互獨(dú)立,不僅有助于提高系統(tǒng)的拓展性,同時還可以改善開發(fā)效率,方便維護(hù)。
[1]葛萌,黃素萍,歐陽宏基.基于Spring MVC框架的Java Web應(yīng)用[J].計算機(jī)與現(xiàn)代化,2018(08):97-101.
[2]楊靜.基于JAVA WEB中MVC模式的研究與應(yīng)用[J].電腦知識與技術(shù),2014,10(28):6668-6671.
[3]田豐,鄒國忠.Java MVC模式在管理信息系統(tǒng)開發(fā)中的應(yīng)用[J].中小企業(yè)管理與科技(上旬刊),2012(09):269-270.
[4]鄭福傳.MVC設(shè)計模式及其改進(jìn)版在Java Web開發(fā)中的應(yīng)用[J].甘肅科技,2011,27(10):23-24+29.
[5]吳琳娜,叢靜,郝林攀.基于Java/MVC構(gòu)建的三層Web政務(wù)信息系統(tǒng)[J].哈爾濱商業(yè)大學(xué)學(xué)報(自然科學(xué)版),2005(06):750-753.
[6]戎戟.MVC設(shè)計模式在Java Web中的研究和應(yīng)用[J].科技信息(學(xué)術(shù)研究),2007(35):189-191.
[7]廉潔,張延軍,杜海艷,司玲玲.開源Java Web框架集成研究[J].內(nèi)蒙古民族大學(xué)學(xué)報(自然科學(xué)版),2007(04):387-389.