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