劉敏娜
(1.咸陽(yáng)師范學(xué)院信息工程學(xué)院,陜西咸陽(yáng)712000;2.咸陽(yáng)師范學(xué)院圖形圖像處理研究所,陜西咸陽(yáng)712000)
MVC模式在校園博客平臺(tái)的應(yīng)用
劉敏娜1,2
(1.咸陽(yáng)師范學(xué)院信息工程學(xué)院,陜西咸陽(yáng)712000;2.咸陽(yáng)師范學(xué)院圖形圖像處理研究所,陜西咸陽(yáng)712000)
文中在J2EE架構(gòu)的WEB應(yīng)用基礎(chǔ)上,采用MVC技術(shù)構(gòu)建校園博客系統(tǒng)。使用MVC模式使系統(tǒng)模塊劃分清晰,具有良好的可重用性,可維護(hù)性和可擴(kuò)展性。系統(tǒng)實(shí)現(xiàn)了用戶管理,博文管理,注冊(cè)登錄等基本功能,通過(guò)系統(tǒng)測(cè)試,能夠準(zhǔn)確的實(shí)現(xiàn)預(yù)期的目的。系統(tǒng)界面美觀、用戶操作簡(jiǎn)潔。
MVCj博客j模型層j控制器
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,更多的用戶通過(guò)網(wǎng)絡(luò)不僅是單方向的獲取信息,更多是進(jìn)行交互,比如通過(guò)博客探討問(wèn)題、交換觀點(diǎn)。博客平臺(tái)交流不受時(shí)間和空間上的限制,能隨時(shí)隨地的進(jìn)行信息溝通,實(shí)現(xiàn)了大眾化與個(gè)性化的服務(wù)。適用于校園用戶的博客平臺(tái)是為學(xué)校教師,學(xué)生提供的一個(gè)交流場(chǎng)所,可以探討技術(shù),生活,文化等領(lǐng)域的問(wèn)題,發(fā)表觀點(diǎn),結(jié)交朋友,達(dá)到學(xué)習(xí)和交流的目的[1]。
系統(tǒng)使用MyEc1ipse 8.5開(kāi)發(fā)工具,基于MVC架構(gòu),使用Tomcat作為web容器,MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和維護(hù)。
MVC是使用模型,視圖,控制器設(shè)計(jì)并創(chuàng)建WEB應(yīng)用程序的模式。模型表示應(yīng)用程序的核心,是應(yīng)用程序中用于處理數(shù)據(jù)邏輯的部分;視圖是處理用戶顯示的部分,主要用于顯示數(shù)據(jù);控制器處理用戶請(qǐng)求,是應(yīng)用程序中處理用戶交互的部分。通??刂破鲝氖菆D層讀取數(shù)據(jù),像模型發(fā)送數(shù)據(jù),將數(shù)據(jù)顯示在視圖中[2_5]。
程序開(kāi)發(fā)中使用MVC分層,有助于管理復(fù)雜的應(yīng)用程序??梢越档统绦虻拈_(kāi)發(fā)難度,同時(shí)也可使程序測(cè)試更加容易[6_8]。
與博客系統(tǒng)交互的用戶主要包括普通用戶、會(huì)員、系統(tǒng)管理人員[9],相關(guān)用戶需求如下:
1)普通用戶注冊(cè),博文查詢。
提供用戶注冊(cè)功能,包括提供錄入信息的頁(yè)面,檢查注冊(cè)信息的有效性,并將注冊(cè)會(huì)員的信息保存在相應(yīng)的數(shù)據(jù)庫(kù)表中。
2)會(huì)員用戶登錄,個(gè)人信息管理,發(fā)表博文,回復(fù)博文。
登錄會(huì)員具有發(fā)表博文,回復(fù)博文的功能[10]??梢詫?duì)注冊(cè)的會(huì)員信息進(jìn)行修改。
3)管理員對(duì)會(huì)員管理,話題分類管理,博文管理。
管理員對(duì)會(huì)員發(fā)表的不良博文進(jìn)行刪除,將優(yōu)秀博文置頂、加精等操作。根據(jù)不同的討論內(nèi)容,可以將整個(gè)討論區(qū)劃分成不同的板塊,會(huì)員可以選擇進(jìn)入不同的板塊,并且可以實(shí)現(xiàn)子版塊的增刪改查[11]。
3.1系統(tǒng)功能模塊設(shè)計(jì)
根據(jù)對(duì)博客系統(tǒng)用戶功能需求的分析,可以得出本系統(tǒng)的功能模塊。本系統(tǒng)總體功能模塊如圖1所示,主要包括3部分,分別為會(huì)員管理、博文模塊和后臺(tái)管理[12]。
圖1 系統(tǒng)總體功能模塊圖
該校園博客系統(tǒng)主要包含以下功能模塊:
1)用戶管理模塊:用戶注冊(cè)、用戶登錄、用戶個(gè)人中心、后臺(tái)管理4個(gè)子模塊。
2)博文管理模塊:前臺(tái)博文顯示模塊、博文搜索,博文回復(fù)。
3)其他管理模塊:博文管理和會(huì)員管理模塊。
其中用戶管理模塊、博文管理模塊是本系統(tǒng)的重要模塊。
3.2系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
通過(guò)對(duì)系統(tǒng)的數(shù)據(jù)以及業(yè)務(wù)功能分析,設(shè)計(jì)數(shù)據(jù)庫(kù)表及表間關(guān)系,系統(tǒng)包括用戶、博文和博文類型實(shí)體對(duì)象。
用戶實(shí)體:包括用戶id,用戶名,姓名,性別,密碼等屬性。如圖2所示。
圖2 用戶E_R圖
博文實(shí)體:包括編號(hào),發(fā)文用戶id,類型,標(biāo)題,內(nèi)容等屬性。實(shí)體圖如圖3所示。
圖3 博文E_R圖
相關(guān)實(shí)體關(guān)系圖如圖4所示。
圖4 數(shù)據(jù)庫(kù)設(shè)計(jì)圖
用戶表:包括用戶ID,用戶名,密碼,性別,電話,愛(ài)好,出生日期等字段。
博文表:包括博文編號(hào),用戶ID,博文類型ID,內(nèi)容,標(biāo)題等字段。
博文類型表:博文ID,博文類型字段。
3.3基于MVC模型的系統(tǒng)實(shí)現(xiàn)
MVC模式將一個(gè)系統(tǒng)分為模型(Mode1),控制器(Contro11er)和視圖(view)。模型可以管理系統(tǒng)的數(shù)據(jù),控制器處理用戶的請(qǐng)求,視圖為用戶顯示數(shù)據(jù)。
1)模型層(Mode1)
模型層表示數(shù)據(jù)和業(yè)務(wù)規(guī)則,本系統(tǒng)將數(shù)據(jù)庫(kù)映射為3種實(shí)體類和對(duì)象模型。
圖5 實(shí)體類關(guān)系圖
業(yè)務(wù)邏輯操作是對(duì)業(yè)務(wù)實(shí)體的增加、刪除、修改和查詢等功能[13]。博客系統(tǒng)的業(yè)務(wù)邏輯包括用戶管理模塊、博文管理模塊和博文類型管理模塊等。圖6為用戶管理模塊的業(yè)務(wù)邏輯層。為了增加系統(tǒng)的可擴(kuò)展型,在接口UersService中聲明了增,刪,改,查方法,接口的實(shí)現(xiàn)類中覆寫(xiě)了這些可以對(duì)數(shù)據(jù)庫(kù)中的user表中的數(shù)據(jù)進(jìn)行操作的方法。
圖6 用戶管理業(yè)務(wù)邏輯層
2)控制層(Contro11er)
控制層將用戶發(fā)起的請(qǐng)求接受并處理,將請(qǐng)求傳給相應(yīng)的Mode1層處理。Mode1層處理完成之后,將查詢的結(jié)果交給Contro11er,Contro11er遞交給Viewer層[13]。由控制器對(duì)模型層和視圖層進(jìn)行控制,使數(shù)據(jù)業(yè)務(wù)邏輯處理和界面顯示分離。系統(tǒng)的控制層包括多個(gè)Action,如用戶登錄處理Action,用戶注冊(cè)Action,用戶管理Action,博客管理等Action。
用戶的請(qǐng)求通過(guò)映射到具體的Action來(lái)進(jìn)行處理。如登錄提交時(shí)處理請(qǐng)求的控制器為L(zhǎng)oginAction,如圖7所示,當(dāng)請(qǐng)求提交之后,由LoginAction處理請(qǐng)求,將請(qǐng)求的數(shù)據(jù)交給邏輯層處理,如圖8所示。
圖7 LoginAction類圖
圖8 LoginAction調(diào)用業(yè)務(wù)邏輯層圖
3)視圖層(view)
視圖是由HTML元素,Javascript元素組成的界面。如用戶登錄的視圖層中有用戶名和密碼框表單控件,以及對(duì)表單元素進(jìn)行處理的JavaScirpt函數(shù)LoginNow,函數(shù)執(zhí)行時(shí)會(huì)將頁(yè)面中表單輸入的數(shù)據(jù)提交給相應(yīng)的控制器處理[14]。登錄的視圖層核心算法如下:
3.4系統(tǒng)測(cè)試
1)會(huì)員登錄
正確的用戶名、密碼以及身份才能成功登錄到系統(tǒng),任何非法的輸入系統(tǒng)都將會(huì)給予提示。用戶輸入有誤登錄失敗,提示用戶用戶名或者密碼輸入不正確,重新輸入[15]。
經(jīng)過(guò)一系列的測(cè)試,該模塊功能能夠正常運(yùn)行。測(cè)試用例見(jiàn)表1。
表1 會(huì)員登錄測(cè)試用例
2)發(fā)博文、回復(fù)博文
選擇查看,版塊的所有博文分頁(yè)顯示在頁(yè)面,點(diǎn)擊查看主題以及回復(fù)。在測(cè)試過(guò)程中,因?yàn)閰?shù)設(shè)置錯(cuò)誤,出現(xiàn)了無(wú)法回復(fù)的情況。
經(jīng)過(guò)調(diào)試,系統(tǒng)能夠正常運(yùn)行。測(cè)試用例見(jiàn)表2。
表2 回復(fù)博文測(cè)試用例
3)博文管理
后臺(tái)管理員登錄進(jìn)入后臺(tái),進(jìn)行不良博文刪除、重要博文的置頂以及優(yōu)秀博文的加精。經(jīng)過(guò)置頂之后的博文會(huì)有一個(gè)圖標(biāo)標(biāo)記,出現(xiàn)在所有博文最前面。
經(jīng)過(guò)測(cè)試,該功能模塊運(yùn)行正常。測(cè)試用例見(jiàn)表3。
4)會(huì)員管理
管理員可以對(duì)用戶進(jìn)行刪除,用戶所發(fā)布的信息不會(huì)刪除??梢愿鶕?jù)用戶發(fā)表的博文質(zhì)量,以及置頂情況,設(shè)置用戶的級(jí)別。
經(jīng)過(guò)測(cè)試,該模塊運(yùn)行正常。測(cè)試用例見(jiàn)表4。
表3 博文管理測(cè)試用例
表4 會(huì)員管理測(cè)試用例
本文提出了一個(gè)基于MVC設(shè)計(jì)模式的博客平臺(tái)的構(gòu)建思路,隨后設(shè)計(jì)了博客平臺(tái)的系統(tǒng)架構(gòu),最終實(shí)現(xiàn)了需求分析中確定的系統(tǒng)功能。在系統(tǒng)中引入MVC模式,可以降低視圖層和數(shù)據(jù)的耦合度,使模塊內(nèi)部具有更高的內(nèi)聚性,從而提高系統(tǒng)的可重用性,可擴(kuò)展性和可維護(hù)性。
[1]王海明,韓瑞霞.國(guó)內(nèi)博客研究現(xiàn)狀述評(píng)[J].蘭州石化職業(yè)技術(shù)學(xué)院學(xué)報(bào),2004,4(4):28_29.
[2]郭燕.MVC模式在B/S體系結(jié)構(gòu)的應(yīng)用研究[J].科技信息,2009 (33):66_67.
[3]戴朝暉,吳敏.基于MVC模式的Web管理信息系統(tǒng)分析與設(shè)計(jì)[J].中南工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2003,34(4):413_414.
[4]韓懌冰.MVC模式淺析[J].科技信息,2007,1(25):351.
[5]姚慧廣,趙岳松.Web編程中MVC模型的應(yīng)用[J].微機(jī)發(fā)展,2002,11(3):9_10.
[6]白廣元.Java Web整合開(kāi)發(fā)完全自學(xué)手冊(cè):Struts+Hibern ate+Spring+Ec1ipse[M].北京:機(jī)械工業(yè)出版社,2009.
[7]周立力.基于Web的學(xué)習(xí)論壇的設(shè)計(jì)與開(kāi)發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2009(11):122_123.
[8]張麗華,李德榮,王冬星.BBS論壇的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦學(xué)習(xí),2009(6):48_49.
[9]何發(fā)勝.基于SSH模式架構(gòu)的博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].湖南:湖南大學(xué),2012.
[10]尚云龍.關(guān)于網(wǎng)絡(luò)博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].四川:電子科技大學(xué),2013.
[11]侯林.基于MVC設(shè)計(jì)模式的博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].遼寧:大連理工大學(xué),2011.
[12]閆偉光.基于Java EE的個(gè)人博客管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].內(nèi)蒙古:內(nèi)蒙古大學(xué),2013.
[13]張浩曦.康定師專教師博客系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[D].四川:電子科技大學(xué),2007.
[14]Ayers D.Java數(shù)據(jù)編程指南[M].戴英,等譯.北京:電子工業(yè)出版社,2002.
[15]付劍平,陸民燕.軟件測(cè)試用例分析[J].計(jì)算機(jī)應(yīng)用研究,2007,24(3):103_104.
The aPPllcatlon of MVC mode ln camPus blog Platform
LIU Min_na1,2
(1.College of Information Engineering,Xianyang Normal University,Xianyang 712000,China;2.Xianyang Normal University Institute of Graphics and Image Processing,Xianyang 712000,China)
On the basis of web app1ication of J2EE architecture,this paper constructs the campus b1og system using MVC techno1ogy.Using MVC mode,the system can be divided into c1ear,good reusabi1ity,maintainabi1ity and extensibi1ity.System to achieve the user management,b1og management,registration and other basic functions,through the system test,can accu
MVC;b1ogjmode1;contro11er
TN0
A
1674_6236(2016)10_0055_03
2015_11_02稿件編號(hào):201511004
陜西省教育廳專項(xiàng)基金資助項(xiàng)目(15JK1803);陜西省科學(xué)技術(shù)研究發(fā)展計(jì)劃項(xiàng)目(2013JM8037);咸陽(yáng)師范學(xué)院專項(xiàng)科研基金項(xiàng)目(14XSYK036)
劉敏娜(1981—),女,陜西榆林人,碩士,講師。研究方向:CUDA并行計(jì)算。
rate1y achieve the desired purpose.System interface is beautifu1,simp1e operation of the user.