費(fèi)孝宏 王琪







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