武漢光谷職業學院 梁寬宏
本文介紹了基于MVC架構的校園新聞發布管理系統,該系統在B/S模式中運行,并采用了Web前后端分離技術,用Java語言來設計代碼。經過測試驗證,該系統具有動態交互、操作方便、可維護性等特點,對新聞發布管理系統的研究具有一定的參考意義。
MVC架構模式主要由模型(Model)、視圖(View)和控制器(Controller)三部分組成。其中,模型是業務流程/狀態的處理以及業務規則的制定,是MVC模式中的核心部分。視圖代表用戶交互界面,主要負責將信息顯示給用戶。控制器主要處理用戶輸入的信息,負責從視圖讀取數據并向模型發送數據,是應用程序中處理用戶交互的部分。MVC體系結構如圖1所示。

圖1 MVC體系結構圖
根據新聞發布與管理的實際工作流程,考慮到系統的主要使用對象是高校教師和學生,系統的功能需求主要有:(1)發布和管理新聞資訊信息(最新通知、活動安排、會議講座等);(2)注冊用戶能夠通過評論與管理員進行良好地溝通交流;(3)使用靜態HTML頁面,提高用戶的訪問效率;(4)采用前端開發框架,Bootstrap響應式布局,頁面支持跨設備、跨瀏覽器(兼容所有現代瀏覽器),界面清新、簡潔,要素排版利落大方;(5)需要適當的加密功能(MD5)和校驗功能,以增強安全性并利用模塊來開發增強系統的維護性;(6)用戶和管理員權限分開設置,管理員的權限多于用戶。
數據庫的科學合理設計對于校園新聞管理系統的成敗至關重要。合理的數據庫要滿足兩點要求:(1)數據能夠集中管理,如刪減多余數據、增加空缺數據,確保數據的正確性和簡潔性;(2)便于程序的開發、維護及后期的擴展,提高軟件的實用性和通用性。本系統以MySQL5.5作為后臺數據庫來管理存儲數據。根據系統功能,設計表結構有:用戶表、新聞信息表、新聞評論表和新聞類別表等,E-R圖如圖2所示。

圖2 系統E-R圖
基于MVC模式的高校新聞管理系統主要包含普通用戶和管理員,且他們的權限不同。普通用戶的權限包含登錄和查詢,可以瀏覽新聞、發表新聞評論,而管理員權限能查詢用戶評論、刪除評論、回復用戶評論等。普通用戶不能訪問管理員界面。
系統前端主要用于頁面顯示,獲取用戶基本信息,通過JSP文件向后臺提交數據。前端主要有新聞顯示、用戶注冊、登錄和重置密碼等功能。首先,用戶需要注冊賬號,將個人信息保存到數據庫;然后,用戶使用個人賬號密碼進行登錄操作。用戶登錄,不僅可以查看個人中心、新聞發布、新聞評論,還能發布新聞、瀏覽新聞,顯示新聞,評論新聞。
系統后臺主要用于管理員的操作,主要有欄目管理、新聞管理、評論管理和用戶管理等模塊。欄目管理主要將高校新聞信息進行分類,如校內新聞、通知公告、媒體聚焦等,并可以增加、刪減或者修改欄目。新聞管理主要有查詢、增加、刪除新聞等。評論管理負責管理用戶的評論,包括置頂、刪除等。
根據不同的功能需求,本系統在MVC架構下,應用Web前端主流開發技術(HTML5、CSS3、JavaScript),以及前端框架Bootstrap響應式布局和B/S架構模式,在JDK1.7和Myeclipse10開發平臺中采用Java語言和MySQL數據庫實現了信息發布管理系統的各項功能。
(1)注冊模塊實現:用戶需要在系統中完成注冊,才可訪問。注冊時,通過JSP文件向后臺提交數據,將個人注冊信息保存至MySQL數據庫。用戶注冊模塊通過使用MVC架構,利用JavaScript腳本正則表達式對注冊的用戶名、密碼和郵箱等信息的合法性進行檢查校驗,若通過JavaScript正則校驗,則將注冊信息傳入后臺通過Servlet技術進行數據驗證。若數據庫無法檢測到用戶信息,則將注冊信息通過Servlet文件傳入后臺數據校驗。若MySQL數據庫沒有檢測用戶賬號,則向MySQL數據庫插入數據并返回,顯示注冊成功;否則,提示信息用戶注冊失敗,需要重新注冊。
(2)登錄模塊實現:利用MVC框架模型層,通過JavaScript腳本進行表單校驗,通過JSP文件向后臺提交數據,控制跳轉,通過模型層,調用相應的Service服務,以及DAO層和數據庫。DAO層是數據訪問層,通過DAO層對數據庫中的數據進行查詢、增加、修改、刪除操作。首先,采用正則表達式,對用戶輸入的個人信息進行合法性校驗。然后,為防止用戶重復登錄,需要將合法數據輸入Session域中進行沖突查詢。如果未找到,就將用戶信息再次傳入數據庫MySQL中進行數據對比和校驗。若數據正確,則顯示登錄成功,跳轉到主頁;否則,顯示用戶名和密碼錯誤的提示,需要用戶進行重新登錄。
(3)新聞發布和評論模塊實現:用戶登錄成功,進入主頁,可以精準查詢新聞內容。在新聞欄目區,用戶可根據新聞分類快速查詢,也可以輸入關鍵詞精準查詢。管理員可以在HTML頁面編輯校園新聞正文內容,通過CSS樣式以及相應設置按鈕,進行新聞樣式設置,核實頁面后,最后點擊提交按鈕發布校園新聞。系統管理員對新聞類型進行分類判斷,通過指定的數字對新聞類型進行分類。用戶登錄系統后,可以任意瀏覽新聞,也可以根據個人興趣愛好,瀏覽指定類型的新聞。如果用戶對某一篇校園新聞感興趣,可在新聞頁面的評論區發表評論。評論提交后,重新刷新頁面,可以查看評論內容,同時新聞頁面左下角有統計瀏覽人數標簽,用來顯示此篇新聞瀏覽量。
系統管理員負責模塊:(1)欄目管理;(2)用戶管理;(3)評論管理;(4)新聞發布。系統管理員登錄后進入主頁界面,對編輯的內容進行欄目設置,主要分為3個欄目,校內新聞、通知公告、媒體聚焦;同時,管理員登錄系統主頁后,可查詢瀏覽所有用戶基本信息。本系統設計中,需要設置不同的管理權限,普通用戶登錄主頁后,操作權限為:瀏覽新聞、發表新聞評論。系統管理員除了可以查詢、增加新聞,發表評論,還可以修改、刪除頁面新聞,隱藏、刪除評論。
管理員登錄本系統后,對新聞頁面操作功能為:瀏覽查看、修改、更新、刪除和審核等;同時,管理員需要統計每篇新聞的瀏覽次數,在新聞頁面的左下角顯示文章的瀏覽量。系統管理員需要管理用戶評論模塊,對評論內容進行管理審查,對于非法評論進行隱藏、刪除,對于合理評論內容進行排序置頂操作。
根據本系統的設計功能需求,搭建系統測試主要參數如下:在硬件環境上,要求CPU在1.0GHz以上并且內存在512MB以上。在軟件程序上,操作系統平臺為Windows10,數據庫版本MySQL5.5,服務器版本Tomcat7.0,瀏覽器IE10等。對新聞發布管理系統后臺的不同模塊的功能進行測試。在登錄模塊上,主要測試用戶能否成功注冊、登錄和發表新聞評論。在管理員功能模塊上,主要測試新聞管理和評論管理。測試結果表明,用戶能按照操作進行注冊登錄并發表評論,網站上能顯示用戶對于每條新聞的閱讀量;管理員能根據學校和用戶需求,發布合適新聞,管理用戶評論等。系統能夠正常運行,功能基本滿足要求。
結論:基于MVC框架下的校園新聞發布系統,可維護性高,有利于對校園新聞進行工程化管理。在MVC模式下,校園新聞得到實時更新,動態交互性提高,可視化的界面使得用戶訪問更加清晰生動。該系統的運行效果穩定,沒有明顯的邏輯漏洞,給校園新聞的發布帶來了極大的便利,具有一定的研究價值。