費(fèi)孝宏 王琪
摘要:針對網(wǎng)絡(luò)信息量巨大使得高校師生信息搜索及交流不理想的現(xiàn)象設(shè)計了校園論壇管理系統(tǒng)。通過SSM(Spring、SpringMVC和Mybatis)框架和Jquery框架分別構(gòu)建了后端及前端框架,基于控制層,業(yè)務(wù)層及數(shù)據(jù)傳輸層三層模型,詳細(xì)設(shè)計后臺與前端交互、邏輯處理、數(shù)據(jù)傳輸,實現(xiàn)了論壇的文章管理、問答管理、評論管理、公告管理等功能。最后,通過多個測試場景測試,表明了該系統(tǒng)的有效性。
關(guān)鍵詞:SSM框架;校園論壇;Jquery;AJAX;邏輯處理
中圖分類號:TP311.52 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)31-0076-03
Design and Development for Campus Forum Management System
FEI Xiao-hong, WANG Qi
(School of Information Engineering, Nanyang Institute of Technology, Nanyang 473000, China)
Abstract: This system is designed for the huge amount of network information and the demand for information exchange between teachers and students in colleges and universities. The system builds back-end and front-end frameworks through SSM (Spring, SpringMVC and Mybatis) framework and Jquery framework respectively. The back-end and front-end interaction, logic processing, and data transmission are designed according to the three-tier model of control layer, business layer and data transmission layer, It has realized the functions of forum article management, question and answer management, comment management, announcement management and so on. Finally, a number of test scenarios are designed for testing, showing that the system is effective.
Key words: SSM framework; campus forum; Jquery; AJAX; logic processing
1 背景
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,國內(nèi)BBS論壇也越來越受人們的喜愛,新浪、搜狐、網(wǎng)易等大型論壇已成為信息交流的標(biāo)志,越來越多的人習(xí)慣于通過BBS論壇獲取信息,交流經(jīng)驗,分享生活[1-2]。然而,隨著網(wǎng)絡(luò)信息爆炸,高校師生精準(zhǔn)搜索到有用信息并完成交流,就顯得尤為困難,同時由于各論壇及用戶使用技術(shù)不同,信息延時,長時間得不到回復(fù),使得論壇交流不佳。對于高校而言,校園論壇不僅代表著學(xué)校的信息發(fā)展,同時也是師生有效溝通交流獲取信息的途徑,因此本文針對高校開發(fā)一套小平臺,使高校用戶能夠更快速地獲取有用信息,且有利于高校用戶維護(hù)。
2 需求分析
本論壇系統(tǒng)的主要目的是給學(xué)生及教師提供一個交流平臺,便于師生獲取信息,交流校園生活、學(xué)習(xí)及技術(shù)經(jīng)驗心得等。因此,通過分析CSDN論壇及多個高校官網(wǎng)特點(diǎn),主要設(shè)計了五個功能塊,包括系統(tǒng)管理、文章管理、評論區(qū)管理、問答管理、公告管理。系統(tǒng)管理主要功能是權(quán)限和用戶管理,系統(tǒng)初期設(shè)置管理員及普通用戶,不同用戶分配權(quán)限不同。文章主要包括文字和圖片輸入,文章修改,保存,發(fā)布,發(fā)布權(quán)限,刪除權(quán)限。評論管理中用戶可以對文章進(jìn)行評論,發(fā)布,刪除。問答管理是對文章管理的補(bǔ)充,一般的論壇系統(tǒng)評論和問答通?;旌显谝黄鹪斐伤阉鞑槐?。因此,本文單獨(dú)設(shè)計問答管理模塊,用戶的疑問發(fā)布者的回答放在問答版塊中,可編輯修改保存發(fā)布,用戶角色不同權(quán)限不同。公告管理,是根據(jù)學(xué)生上網(wǎng)習(xí)慣,如大部分學(xué)生更愿意在論壇沖浪而忽視查看學(xué)校官網(wǎng),為了學(xué)生更有效地獲取校園通知而單獨(dú)設(shè)計的版塊,是對學(xué)校官網(wǎng)的補(bǔ)充。管理員發(fā)布公告后,用戶公告欄可同步更新,根據(jù)用戶權(quán)限執(zhí)行不同功能包括編輯、修改、保存、置頂、文件上傳、刪除。
3 系統(tǒng)框架設(shè)計
系統(tǒng)框架的搭建包括ID生成器、異常工具類、文件上傳、權(quán)限控制共4個部分。
3.1 id生成工具類
利用IdWorker類生成64位不重復(fù)的id;截取其中32位并使得所有業(yè)務(wù)ID唯一,如圖1。
3.2 異常類工具類
本項目使用自定義異常,設(shè)計時必須繼承運(yùn)行期異常,因為運(yùn)行期異常中的類和對象才可以被throws和throw操作,在自定義的類中對可能出現(xiàn)的異常情況進(jìn)行自定義描述,寫入異常識別碼、異常信息屬性,在異常情況出現(xiàn)位置拋出識別碼,就會出現(xiàn)具體異常的信息。自定義類中描述常見的異常情況,如非空、不等、非法符號等情況進(jìn)行封裝,使得代碼更加簡化,更具有可擴(kuò)展性。完善自定義類后,可具體描述異常情況處理,以便于當(dāng)運(yùn)行出現(xiàn)了定義的異常情況時可拋出正確合理的異常信息。
3.3 文件上傳
首先獲得文件名及文件后綴,加載配置文件路徑,利用FastDFS架構(gòu)進(jìn)行文件上傳,可滿足將多個文件的業(yè)務(wù)id及路徑放在一個空數(shù)據(jù)表中,且項目刪除不影響文件數(shù)據(jù)[3];利用Tracker server 進(jìn)行文件的追蹤和調(diào)度;利用Storage Server實現(xiàn)上傳,流程如圖2。
3.4 權(quán)限控制
本系統(tǒng)的權(quán)限認(rèn)證做法是在用戶登錄時將用戶信息放入session中,前端調(diào)用接口時將session傳入后端,后端對session中的用戶信息進(jìn)行解析判斷,判斷用戶是否擁有相關(guān)權(quán)限。
4 系統(tǒng)詳細(xì)設(shè)計
4.1 數(shù)據(jù)庫設(shè)計
設(shè)計數(shù)據(jù)表時,存在單表操作,兩個及以上多表的關(guān)聯(lián)操作。多表關(guān)聯(lián)操作采用表的主鍵id,其中,若為一對一、一對多的關(guān)系,可用關(guān)聯(lián)字段關(guān)聯(lián),如id;若表之間是多對多關(guān)系,則需要為多對多關(guān)系建立一個中間表作為緩沖,存儲關(guān)系映射,節(jié)約數(shù)據(jù)庫空間[4]。本系統(tǒng)設(shè)計了14類數(shù)據(jù)表,包括:用戶表、角色表、權(quán)限表、用戶角色中間表、角色權(quán)限表、學(xué)院表、專業(yè)表、附件表、文章表、評論表、問題表、回答表、公告表、公告接收人表,以用戶表,文章表為例,如表1,表2。
4.2 系統(tǒng)功能模塊實現(xiàn)
1)系統(tǒng)執(zhí)行流程
系統(tǒng)執(zhí)行的過程分為前端,后端,前端接收數(shù)據(jù),后端處理數(shù)據(jù)[5],用戶通過前端控制器發(fā)送請求,前端控制器根據(jù)用戶請求通過處理器映射器獲得執(zhí)行標(biāo)識,通過處理器適配器發(fā)送給處理器進(jìn)行對應(yīng)的數(shù)據(jù)處理,最后將處理數(shù)據(jù)經(jīng)適配器返回到前端控制,前端將得到的數(shù)據(jù)發(fā)送到視圖解析器進(jìn)行數(shù)據(jù)到頁面的映射,結(jié)果返回到前端控制器為用戶進(jìn)行可視化展示,如圖3所示。
2)用戶登錄和管理
用戶登錄提供輸入用戶名、密碼、密碼記住、信息判斷、注冊等功能。用戶管理分為管理員和用戶。管理員鑒權(quán)通過處理系統(tǒng)所有用戶信息;用戶鑒權(quán)通過處理個人信息。
3)公告管理
公告管理包括查詢、新增、編輯、刪除4部分。查詢通關(guān)關(guān)鍵字查詢公告標(biāo)題;用戶通過權(quán)限驗證新增公告,編輯和刪除是提供給管理員的接口,其中新增,編輯刪除時分兩種情況,若為公有公告需在公告主數(shù)據(jù)表中插入新增公告業(yè)務(wù)id,若為私有公告則需同時在主表和選定的接收人公告表中新增id。
4)文章管理
文章管理可分為查詢,編輯,新增,刪除4部分。查詢進(jìn)行關(guān)鍵詞搜索,采用模糊匹配方法。用戶在權(quán)限允許范圍內(nèi)對文章有編輯和刪除的操作。設(shè)計流程如圖4,效果圖如圖5。
5)問答管理
問答管理分為問題管理和回答管理,問題管理默認(rèn)可查看問題數(shù)據(jù)表中所有問題列表,通過關(guān)鍵詞模糊查詢數(shù)據(jù)表中作者公告題目返回查詢結(jié)果。用戶可創(chuàng)建問題,通過權(quán)限驗證后可編輯和刪除問題?;卮鹆斜碓趩栴}列表之下,展示此問題所有答案同時輸入用戶新增答案。僅創(chuàng)建者和管理員可修改和刪除回答。流程圖如圖6,效果圖如圖7。
5 功能模塊測試
設(shè)計了基礎(chǔ)模塊測試和權(quán)限測試兩部分,每部分進(jìn)行3組測試,共6組測試,測試結(jié)果均達(dá)到了預(yù)期。
5.1 基礎(chǔ)模塊測試
1)測試內(nèi)容:輸入正確的賬號密碼進(jìn)行登錄。實驗結(jié)果:登錄成功,正確跳轉(zhuǎn)系統(tǒng)首頁,首頁能夠正常展示。
2)測試內(nèi)容:從導(dǎo)航欄進(jìn)入文章管理、問答管理、公告管理,輸入關(guān)鍵詞點(diǎn)擊查詢列表信息。實驗結(jié)果:根據(jù)輸入的關(guān)鍵詞,正確顯示匹配關(guān)鍵字的信息列表,點(diǎn)擊標(biāo)題,能夠進(jìn)入詳情頁。
3)測試內(nèi)容:進(jìn)入各模塊首頁,點(diǎn)擊新增按鈕,輸入相關(guān)內(nèi)容,在富文本編輯器中插入圖片,插入代碼,改變字體樣式,點(diǎn)擊提交。實驗結(jié)果:新增一條信息,點(diǎn)擊標(biāo)題,進(jìn)入詳情頁,內(nèi)容和自己輸入的內(nèi)容一致。
5.2 權(quán)限測試
1)測試內(nèi)容:正常登錄系統(tǒng),將系統(tǒng)的路徑復(fù)制一份,使用另一個瀏覽器打開此路徑。實驗結(jié)果:彈框報錯,您還沒有登錄賬號,請登錄后重新訪問。
2)測試內(nèi)容:使用普通用戶的賬號密碼進(jìn)行登錄,點(diǎn)擊刪除按鈕,點(diǎn)擊用戶管理導(dǎo)航欄。實驗結(jié)果:彈框報錯,您沒有該權(quán)限。
3)測試內(nèi)容:使用管理員賬號登錄系統(tǒng),點(diǎn)擊刪除按鈕,從用戶管理頁給用戶賦予角色。實驗結(jié)果:能夠正常的刪除,給用戶賦予角色后,使用該賬號登錄系統(tǒng)就擁有的相關(guān)權(quán)限。
6 結(jié)束語
系統(tǒng)采用的SSM框架設(shè)計了校園論壇系統(tǒng),搭建了包含id生成器、自定義異常類以及異常方法、數(shù)據(jù)傳輸類以及權(quán)限控制的系統(tǒng)框架。在框架基礎(chǔ)上實現(xiàn)功能模塊包括文章管理、評論區(qū)管理、問答管理、用戶管理。系統(tǒng)首先搭建系統(tǒng)框架,然后添加功能模塊,因此,可擴(kuò)展性很強(qiáng)。同時,經(jīng)多組測試,本論壇管理系統(tǒng)可以實現(xiàn)文章,用戶,評論等功能,操作簡單,有利于校園用戶進(jìn)行信息交流。
參考文獻(xiàn):
[1] 張冬,田艷.校園兼職信息管理系統(tǒng)分析與設(shè)計[J].軟件工程,2019,22(7):37-39.
[2] 何博文,鄭劍.BBS論壇系統(tǒng)設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2018,14(18):42-44.
[3] 朱帥.基于FastDFS的云存儲文件系統(tǒng)性能優(yōu)化設(shè)計與實現(xiàn)[D].南京:東南大學(xué),2017.
[4] 于簡溪.基于Java的BBS論壇系統(tǒng)的設(shè)計與實現(xiàn)[J].信息通信,2016,29(2):117-119.
[5] 曹臣承.網(wǎng)絡(luò)論壇管理系統(tǒng)的設(shè)計與實現(xiàn)[J].湖南城市學(xué)院學(xué)報(自然科學(xué)版),2016,25(2):123-124.
【通聯(lián)編輯:謝媛媛】
收稿日期:2021-06-20
基金項目:河南省高等學(xué)校重點(diǎn)科研項目(項目編號:19B520017)
作者簡介:費(fèi)孝宏(1995—),男,江蘇淮安人,學(xué)士,研究方向為Java開發(fā);王琪(1987—),女,通信作者,講師,碩士,研究方向為圖像處理、計算機(jī)視覺。