隋雪莉 許 鳴
(南京航空航天大學金城學院 信息工程系,江蘇 南京 211156)
隨著學校規模的擴大,教務處發布的新聞也越來越多,按照傳統分發紙質文件的模式,耗費的人力、物力和財力也越來越多。目前已有的新聞管理系統無法滿足我院的個性化需求,針對這一問題,筆者對我院教務新聞管理的需求進行了進一步的調研與分析,設計并實現了基于Struts2框架的高校教務新聞管理系統。該系統使用JAVA語言開發;以Mysql作為數據庫開發平臺;以Tomcat作為Web服務器。
MVC是一種架構型模式,用來指導開發者改善應用程序的架構,從而得到更好的開發和維護效率。在MVC模式中,應用程序被劃分為模型(Model)、視圖(View)和控制器(Controller)三部分。 模型部分包含了應用程序的業務邏輯和業務數據,負責封裝應用的狀態,并實現應用的功能;視圖部分封裝了應用程序的輸出形式,將模型的內容展現給用戶,用戶可以通過視圖來請求模型進行更新;控制器部分負責協調模型和視圖,根據用戶請求選擇調用哪個模型處理業務,以及最終由哪個視圖為用戶做出應答[1]。
Struts2是一種基于MVC的輕量級Web應用框架[1]。Struts 2框架本身可分為3個部分:核心控制器FilterDispatcher、業務邏輯控制器Action和結果展示。核心控制器FilterDispatcher包含了框架內部的控制流程和處理機制,只需在項目web.xml中配置;業務邏輯控制器Action由用戶自己實現;Struts2的結果展示方式有常規的JSP,還有模板Freemaker等。用戶在開發的同時,還需編寫相關配置文件,供核心控制器FilterDispatcher來使用。
高校教務新聞管理系統是教務處管理教務信息的平臺。本平臺有兩類管理員,分別是一級管理員和科室管理員。系統功能模塊如圖1所示。

圖1 系統功能模塊圖

圖2 數據庫表關系圖
(1)登錄及修改個人信息
各管理員通過登錄模塊登入本系統,進行相關管理操作。登入系統后可以更改個人信息,包括重新設置密碼、更改用戶名等。
(2)科室管理
一級管理員可以查看所有科室信息;根據學院的情況,在系統中調整教務處各科室,包括添加新的科室、刪除已有科室、修改科室名稱。每個科室對應若干位科室管理員,科室管理員管理本科室發布的新聞。當科室管理員發生變動時,一級管理員需要在系統中調整科室管理員的信息。
(3)新聞版塊管理
一級管理員對新聞版塊的管理包括新聞主版塊和新聞子版塊的管理。對新聞主版塊的管理包括查看、刪除、修改新聞主版塊。對新聞子版塊的管理包括在新聞主版塊下增加、刪除一個子版塊;修改子版塊名稱。
(4)文章管理
各科室管理員可以發布新聞。發布時,需要填寫新聞標題、內容、選擇主版塊和下設子版塊等。新聞中如有圖片,需要上傳圖片,上傳后圖片顯示在文章正文的底部。各科室管理員可以對自己已發的新聞進行修改。
一級管理員對文章進行管理時,首先篩選文章,然后可以批量刪除或者遷移。批量遷移是指將部分文章移至其他新聞版塊。
(5)查看新聞
登錄系統后即可查看所有已發布的新聞。
本系統設計了 5 張表:t_article、t_dept、t_user_admin、t_model 和 t_submodel。 其中t_article中存放新聞的信息,包括編號、新聞標題、所屬版塊、創建時間、所屬科室、新聞內容、新聞圖片地址等。t_dept中存放了科室編號和科室名稱等。t_user_admin中存放了管理員的編號、用戶名、密碼、所屬科室等。t_model中存放了新聞主版塊的編號、url規則、名稱等。t_submodel中存放了新聞子版塊的編號、名稱、所示主版塊編號等。
數據庫表的關系圖如圖2所示。
本文所設計的高校教務新聞管理系統采用了MVC設計模式,并基于Struts2框架。使用JSP作為結果顯示頁面,只關注需要顯示的數據的樣式及效果,不需關注業務邏輯[2];控制器部分完成Action和struts.xml配置文件的定義,接收客戶瀏覽器JSP頁面的請求并判斷,然后通過配置文件關聯;模型部分完成業務邏輯代碼,與數據庫進行交互,實現業務功能。
(1)結果顯示
Struts2提供了功能強大的標簽庫,這些標簽不依賴于任何表現層技術,同時支持用戶自定義標簽以滿足頁面復雜多變的需求[3]。使用Struts2標簽需添加導入標簽庫語句:<%@taglib uri=“/struts– tags”prefix=“ s”% >
(2)控制器
利用Struts2技術,可將提交的服務請求轉交給不同的Action處理,待進行業務處理的類和Action的映射關系在struts.xml配置文件中設置。以下為配置文件中的部分代碼。


接收用戶請求后,struts.xml配置文件將請求分發給名為search的Action,進行處理。
(3)業務邏輯處理部分
業務邏輯處理選取POJO來封裝業務邏輯對象,利用泛型DAO模式結合JDBC來實現持久化邏輯。
本文設計了一個基于Struts2框架的高校教務新聞管理系統。該系統結合本學院情況,設計的功能包括教務處科室管理、新聞版塊管理以及文章管理等。實現時采用了Struts2框架,簡化了開發過程,具有優秀的解耦性。不同層之間耦合度小,有利于團隊成員并行工作,大大提高了開發效率。
[1]陳臣,王斌,孫琳,王鴿,浦蓬勃.研磨 Struts2[M].北京:清華大學出版社,2011.
[2]吳向南,陳偉宏,陳橋,張龍.基于 Struts2 的在線學習系統方案設計[J].科技信息,2014(7):36-37,45.
[3]陸舟.struts2技術內幕:深入解析Struts架構設計與實現原理[M].北京:機械工業出版社,2012.