武漢光谷職業(yè)學(xué)院 梁寬宏
本文介紹了基于MVC架構(gòu)的校園新聞發(fā)布管理系統(tǒng),該系統(tǒng)在B/S模式中運(yùn)行,并采用了Web前后端分離技術(shù),用Java語言來設(shè)計(jì)代碼。經(jīng)過測試驗(yàn)證,該系統(tǒng)具有動(dòng)態(tài)交互、操作方便、可維護(hù)性等特點(diǎn),對(duì)新聞發(fā)布管理系統(tǒng)的研究具有一定的參考意義。
MVC架構(gòu)模式主要由模型(Model)、視圖(View)和控制器(Controller)三部分組成。其中,模型是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定,是MVC模式中的核心部分。視圖代表用戶交互界面,主要負(fù)責(zé)將信息顯示給用戶??刂破髦饕幚碛脩糨斎氲男畔ⅲ?fù)責(zé)從視圖讀取數(shù)據(jù)并向模型發(fā)送數(shù)據(jù),是應(yīng)用程序中處理用戶交互的部分。MVC體系結(jié)構(gòu)如圖1所示。
圖1 MVC體系結(jié)構(gòu)圖
根據(jù)新聞發(fā)布與管理的實(shí)際工作流程,考慮到系統(tǒng)的主要使用對(duì)象是高校教師和學(xué)生,系統(tǒng)的功能需求主要有:(1)發(fā)布和管理新聞資訊信息(最新通知、活動(dòng)安排、會(huì)議講座等);(2)注冊用戶能夠通過評(píng)論與管理員進(jìn)行良好地溝通交流;(3)使用靜態(tài)HTML頁面,提高用戶的訪問效率;(4)采用前端開發(fā)框架,Bootstrap響應(yīng)式布局,頁面支持跨設(shè)備、跨瀏覽器(兼容所有現(xiàn)代瀏覽器),界面清新、簡潔,要素排版利落大方;(5)需要適當(dāng)?shù)募用芄δ埽∕D5)和校驗(yàn)功能,以增強(qiáng)安全性并利用模塊來開發(fā)增強(qiáng)系統(tǒng)的維護(hù)性;(6)用戶和管理員權(quán)限分開設(shè)置,管理員的權(quán)限多于用戶。
數(shù)據(jù)庫的科學(xué)合理設(shè)計(jì)對(duì)于校園新聞管理系統(tǒng)的成敗至關(guān)重要。合理的數(shù)據(jù)庫要滿足兩點(diǎn)要求:(1)數(shù)據(jù)能夠集中管理,如刪減多余數(shù)據(jù)、增加空缺數(shù)據(jù),確保數(shù)據(jù)的正確性和簡潔性;(2)便于程序的開發(fā)、維護(hù)及后期的擴(kuò)展,提高軟件的實(shí)用性和通用性。本系統(tǒng)以MySQL5.5作為后臺(tái)數(shù)據(jù)庫來管理存儲(chǔ)數(shù)據(jù)。根據(jù)系統(tǒng)功能,設(shè)計(jì)表結(jié)構(gòu)有:用戶表、新聞信息表、新聞評(píng)論表和新聞?lì)悇e表等,E-R圖如圖2所示。
圖2 系統(tǒng)E-R圖
基于MVC模式的高校新聞管理系統(tǒng)主要包含普通用戶和管理員,且他們的權(quán)限不同。普通用戶的權(quán)限包含登錄和查詢,可以瀏覽新聞、發(fā)表新聞評(píng)論,而管理員權(quán)限能查詢用戶評(píng)論、刪除評(píng)論、回復(fù)用戶評(píng)論等。普通用戶不能訪問管理員界面。
系統(tǒng)前端主要用于頁面顯示,獲取用戶基本信息,通過JSP文件向后臺(tái)提交數(shù)據(jù)。前端主要有新聞顯示、用戶注冊、登錄和重置密碼等功能。首先,用戶需要注冊賬號(hào),將個(gè)人信息保存到數(shù)據(jù)庫;然后,用戶使用個(gè)人賬號(hào)密碼進(jìn)行登錄操作。用戶登錄,不僅可以查看個(gè)人中心、新聞發(fā)布、新聞評(píng)論,還能發(fā)布新聞、瀏覽新聞,顯示新聞,評(píng)論新聞。
系統(tǒng)后臺(tái)主要用于管理員的操作,主要有欄目管理、新聞管理、評(píng)論管理和用戶管理等模塊。欄目管理主要將高校新聞信息進(jìn)行分類,如校內(nèi)新聞、通知公告、媒體聚焦等,并可以增加、刪減或者修改欄目。新聞管理主要有查詢、增加、刪除新聞等。評(píng)論管理負(fù)責(zé)管理用戶的評(píng)論,包括置頂、刪除等。
根據(jù)不同的功能需求,本系統(tǒng)在MVC架構(gòu)下,應(yīng)用Web前端主流開發(fā)技術(shù)(HTML5、CSS3、JavaScript),以及前端框架Bootstrap響應(yīng)式布局和B/S架構(gòu)模式,在JDK1.7和Myeclipse10開發(fā)平臺(tái)中采用Java語言和MySQL數(shù)據(jù)庫實(shí)現(xiàn)了信息發(fā)布管理系統(tǒng)的各項(xiàng)功能。
(1)注冊模塊實(shí)現(xiàn):用戶需要在系統(tǒng)中完成注冊,才可訪問。注冊時(shí),通過JSP文件向后臺(tái)提交數(shù)據(jù),將個(gè)人注冊信息保存至MySQL數(shù)據(jù)庫。用戶注冊模塊通過使用MVC架構(gòu),利用JavaScript腳本正則表達(dá)式對(duì)注冊的用戶名、密碼和郵箱等信息的合法性進(jìn)行檢查校驗(yàn),若通過JavaScript正則校驗(yàn),則將注冊信息傳入后臺(tái)通過Servlet技術(shù)進(jìn)行數(shù)據(jù)驗(yàn)證。若數(shù)據(jù)庫無法檢測到用戶信息,則將注冊信息通過Servlet文件傳入后臺(tái)數(shù)據(jù)校驗(yàn)。若MySQL數(shù)據(jù)庫沒有檢測用戶賬號(hào),則向MySQL數(shù)據(jù)庫插入數(shù)據(jù)并返回,顯示注冊成功;否則,提示信息用戶注冊失敗,需要重新注冊。
(2)登錄模塊實(shí)現(xiàn):利用MVC框架模型層,通過JavaScript腳本進(jìn)行表單校驗(yàn),通過JSP文件向后臺(tái)提交數(shù)據(jù),控制跳轉(zhuǎn),通過模型層,調(diào)用相應(yīng)的Service服務(wù),以及DAO層和數(shù)據(jù)庫。DAO層是數(shù)據(jù)訪問層,通過DAO層對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、增加、修改、刪除操作。首先,采用正則表達(dá)式,對(duì)用戶輸入的個(gè)人信息進(jìn)行合法性校驗(yàn)。然后,為防止用戶重復(fù)登錄,需要將合法數(shù)據(jù)輸入Session域中進(jìn)行沖突查詢。如果未找到,就將用戶信息再次傳入數(shù)據(jù)庫MySQL中進(jìn)行數(shù)據(jù)對(duì)比和校驗(yàn)。若數(shù)據(jù)正確,則顯示登錄成功,跳轉(zhuǎn)到主頁;否則,顯示用戶名和密碼錯(cuò)誤的提示,需要用戶進(jìn)行重新登錄。
(3)新聞發(fā)布和評(píng)論模塊實(shí)現(xiàn):用戶登錄成功,進(jìn)入主頁,可以精準(zhǔn)查詢新聞內(nèi)容。在新聞欄目區(qū),用戶可根據(jù)新聞分類快速查詢,也可以輸入關(guān)鍵詞精準(zhǔn)查詢。管理員可以在HTML頁面編輯校園新聞?wù)膬?nèi)容,通過CSS樣式以及相應(yīng)設(shè)置按鈕,進(jìn)行新聞樣式設(shè)置,核實(shí)頁面后,最后點(diǎn)擊提交按鈕發(fā)布校園新聞。系統(tǒng)管理員對(duì)新聞?lì)愋瓦M(jìn)行分類判斷,通過指定的數(shù)字對(duì)新聞?lì)愋瓦M(jìn)行分類。用戶登錄系統(tǒng)后,可以任意瀏覽新聞,也可以根據(jù)個(gè)人興趣愛好,瀏覽指定類型的新聞。如果用戶對(duì)某一篇校園新聞感興趣,可在新聞頁面的評(píng)論區(qū)發(fā)表評(píng)論。評(píng)論提交后,重新刷新頁面,可以查看評(píng)論內(nèi)容,同時(shí)新聞頁面左下角有統(tǒng)計(jì)瀏覽人數(shù)標(biāo)簽,用來顯示此篇新聞瀏覽量。
系統(tǒng)管理員負(fù)責(zé)模塊:(1)欄目管理;(2)用戶管理;(3)評(píng)論管理;(4)新聞發(fā)布。系統(tǒng)管理員登錄后進(jìn)入主頁界面,對(duì)編輯的內(nèi)容進(jìn)行欄目設(shè)置,主要分為3個(gè)欄目,校內(nèi)新聞、通知公告、媒體聚焦;同時(shí),管理員登錄系統(tǒng)主頁后,可查詢?yōu)g覽所有用戶基本信息。本系統(tǒng)設(shè)計(jì)中,需要設(shè)置不同的管理權(quán)限,普通用戶登錄主頁后,操作權(quán)限為:瀏覽新聞、發(fā)表新聞評(píng)論。系統(tǒng)管理員除了可以查詢、增加新聞,發(fā)表評(píng)論,還可以修改、刪除頁面新聞,隱藏、刪除評(píng)論。
管理員登錄本系統(tǒng)后,對(duì)新聞頁面操作功能為:瀏覽查看、修改、更新、刪除和審核等;同時(shí),管理員需要統(tǒng)計(jì)每篇新聞的瀏覽次數(shù),在新聞頁面的左下角顯示文章的瀏覽量。系統(tǒng)管理員需要管理用戶評(píng)論模塊,對(duì)評(píng)論內(nèi)容進(jìn)行管理審查,對(duì)于非法評(píng)論進(jìn)行隱藏、刪除,對(duì)于合理評(píng)論內(nèi)容進(jìn)行排序置頂操作。
根據(jù)本系統(tǒng)的設(shè)計(jì)功能需求,搭建系統(tǒng)測試主要參數(shù)如下:在硬件環(huán)境上,要求CPU在1.0GHz以上并且內(nèi)存在512MB以上。在軟件程序上,操作系統(tǒng)平臺(tái)為Windows10,數(shù)據(jù)庫版本MySQL5.5,服務(wù)器版本Tomcat7.0,瀏覽器IE10等。對(duì)新聞發(fā)布管理系統(tǒng)后臺(tái)的不同模塊的功能進(jìn)行測試。在登錄模塊上,主要測試用戶能否成功注冊、登錄和發(fā)表新聞評(píng)論。在管理員功能模塊上,主要測試新聞管理和評(píng)論管理。測試結(jié)果表明,用戶能按照操作進(jìn)行注冊登錄并發(fā)表評(píng)論,網(wǎng)站上能顯示用戶對(duì)于每條新聞的閱讀量;管理員能根據(jù)學(xué)校和用戶需求,發(fā)布合適新聞,管理用戶評(píng)論等。系統(tǒng)能夠正常運(yùn)行,功能基本滿足要求。
結(jié)論:基于MVC框架下的校園新聞發(fā)布系統(tǒng),可維護(hù)性高,有利于對(duì)校園新聞進(jìn)行工程化管理。在MVC模式下,校園新聞得到實(shí)時(shí)更新,動(dòng)態(tài)交互性提高,可視化的界面使得用戶訪問更加清晰生動(dòng)。該系統(tǒng)的運(yùn)行效果穩(wěn)定,沒有明顯的邏輯漏洞,給校園新聞的發(fā)布帶來了極大的便利,具有一定的研究價(jià)值。