楊世文 侯超鈞
摘? 要: 針對高校師生之間學(xué)術(shù)交流的實際需求,開發(fā)了一套基于SSM(Spring + Spring MVC + MyBatis)框架的學(xué)術(shù)論壇管理系統(tǒng)。該學(xué)術(shù)論壇管理系統(tǒng)前端主要分為教師端和學(xué)生端,學(xué)生端提供發(fā)表帖子、帖子評論、帖子收藏和關(guān)注他人等功能;教師端提供帖子審核、用戶管理和話題分類管理等功能。系統(tǒng)前端使用jQuery框架進(jìn)行數(shù)據(jù)交互,采用Bootstrap框架進(jìn)行頁面樣式渲染;系統(tǒng)后端基于SSM框架進(jìn)行開發(fā),數(shù)據(jù)庫采用MySQL,結(jié)合模板引擎進(jìn)行數(shù)據(jù)的渲染操作。系統(tǒng)經(jīng)使用表明,系統(tǒng)能夠在一定程度上加強(qiáng)師生之間課余時間的學(xué)術(shù)交流,有利于促成良好的學(xué)風(fēng)氛圍,可為高校學(xué)術(shù)論壇管理系統(tǒng)的設(shè)計和實現(xiàn)提供參考。
關(guān)鍵詞: Spring; Spring MVC; MyBatis; MySQL; 學(xué)術(shù)論壇管理系統(tǒng)
中圖分類號:TP311.52? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2021)02-25-05
Abstract: Aiming at the need of academic exchange between teachers and students in colleges and universities, an academic forum management system is developed by using SSM (Spring + Spring MVC + MyBatis) framework. The front-end of academic forum management system is mainly consisted of the teacher end and the student end. The student end provides the functions of post publishing, post comment, post collection and attention to others; The teacher end provides the functions of post review, user management and topic classification management. The front-end of the system is developed with jQuery framework, and Bootstrap framework is used as the page style rendering. The background-end is developed by using SSM framework and MySQL database, and the template engine is used for data rendering operation. The use of the system shows that the system can strengthen the academic exchange between teachers and students in their spare time to a certain extent, which is conducive to promoting a good atmosphere of study, and can provide reference for the design and implementation of academic forum management system in colleges and universities.
Key words: Spring; Spring MVC; MyBatis; MySQL; academic forum management system
0 引言
現(xiàn)階段我國正處于信息科技高速發(fā)展階段,隨著政府對數(shù)字化和信息化政策的大力支持,智慧校園和數(shù)字信息化的概念逐步得到了推廣[1]。在現(xiàn)今的學(xué)校教學(xué)生活中,師生之間的課余交流是十分重要的,有利于學(xué)術(shù)氛圍的形成。在現(xiàn)有軟件開發(fā)技術(shù)條件下,使用論壇來進(jìn)行相關(guān)的技術(shù)性討論和學(xué)術(shù)性討論是十分普遍的,許多技術(shù)愛好者都喜歡通過論壇的方式分享自己的開發(fā)技術(shù)和開發(fā)經(jīng)驗[2]。
現(xiàn)在不少高校都有各自專屬的課程中心,用于提供一個課程學(xué)術(shù)交流平臺[3],例如我校使用了由上海卓越睿星數(shù)碼科技有限公司開發(fā)的一套學(xué)校課程中心系統(tǒng)。但是這些系統(tǒng)普遍存在一些不足之處,如只提供簡化版的學(xué)術(shù)論壇交流系統(tǒng),許多學(xué)生無法在此平臺上共享自己更多的學(xué)術(shù)資源和學(xué)習(xí)心得,教師端功能過少,不能審核學(xué)生所發(fā)的帖子內(nèi)容等相關(guān)功能,無法對惡意刷帖、惡意評論者進(jìn)行封禁操作,從而導(dǎo)致平臺難以治理的現(xiàn)象,這種論壇平臺的設(shè)計也沒有充分考慮到師生反饋的實際需求[4]。
本文主要開發(fā)了一個能適用于高校實際情況的學(xué)術(shù)論壇管理系統(tǒng),系統(tǒng)主要分教師端和學(xué)生端,實現(xiàn)了帖子管理、收藏管理、評論管理、關(guān)注管理、學(xué)生賬號管理等主要功能。該系統(tǒng)頁面精簡,操作簡便,交互體驗友好。系統(tǒng)采用的是Spring+Spring MVC+ MyBatis框架和MySQL數(shù)據(jù)庫,前端采用jQuery和Bootstrap框架進(jìn)行的頁面設(shè)計,通過Ajax進(jìn)行異步數(shù)據(jù)交互,提高頁面數(shù)據(jù)渲染的友好度。
1 系統(tǒng)設(shè)計
1.1 系統(tǒng)框架設(shè)計
本系統(tǒng)的架構(gòu)設(shè)計嚴(yán)格遵守MVC三層架構(gòu)[3],主要分為視圖層(Controller層)、業(yè)務(wù)層(Service層)、數(shù)據(jù)持久層(Dao層)。系統(tǒng)主要分為教師端和學(xué)生端,學(xué)生在客戶端編輯好帖子內(nèi)容,然后提交發(fā)帖,服務(wù)器接收到這個請求,首先將數(shù)據(jù)傳輸?shù)紺ontroller層進(jìn)行處理。Controller層接收到請求和提交數(shù)據(jù),根據(jù)定義的規(guī)則調(diào)用相應(yīng)的Service層進(jìn)行業(yè)務(wù)處理操作,處理后的數(shù)據(jù)通過Dao層進(jìn)行數(shù)據(jù)持久化并保存在MySQL數(shù)據(jù)庫。系統(tǒng)相應(yīng)的處理流程如圖1所示。
1.2 技術(shù)實現(xiàn)
本系統(tǒng)主要采用Java EE的Spring+Spring MVC+ MyBatis三大框架開發(fā),后臺結(jié)合MySQL數(shù)據(jù)庫進(jìn)行持久化操作,采用整合Redis作為緩存的非關(guān)系型數(shù)據(jù)庫。前端主要采用jQuery和Bootstrap框架進(jìn)行頁面數(shù)據(jù)渲染操作,使用Ajax進(jìn)行異步數(shù)據(jù)交互操作,用于提高用戶的操作友好度,為了提高緩存效率,還采用Redis非關(guān)系型數(shù)據(jù)庫。
⑴ Spring框架
Spring框架是Java EE開發(fā)技術(shù)跨時代的代表性框架,主要的兩個核心功能是控制反轉(zhuǎn)(IoC)和面向切面(AOP)[5],能夠?qū)avaBean對象交給Spring核心容器來進(jìn)行存儲和處理操作,開發(fā)者只需在容器中獲取存儲的JavaBean對象即可實現(xiàn)調(diào)用[6]。Spring框架極大程度地簡化開發(fā)成本和提高了開發(fā)效率。
⑵ Spring MVC框架
Spring MVC框架是MVC三層架構(gòu)中的Controller層,開發(fā)者可通過使用注解的方式直接設(shè)置請求的路徑、參數(shù),是一種典型的以請求為驅(qū)動的框架。首先將請求發(fā)送給控制器,然后再傳遞給模型對象,其頂層是基于Servlet接口實現(xiàn)的,其核心類為DispatcherServlet[7]。
⑶ MyBatis框架
MyBatis是一款性能高效的持久層框架,其底層是通過Java的反射和映射方式來對JDBC繁瑣的執(zhí)行步驟進(jìn)行封裝,避免了傳統(tǒng)JDBC代碼需要手動設(shè)置各個參數(shù)以及最終返回的結(jié)果集[8]。MyBatis框架主要是采用XML或注解的方式來進(jìn)行配置和映射操作,開發(fā)者只需定義好Dao層的接口以及相關(guān)XML配置文件即可實現(xiàn)對數(shù)據(jù)庫的操作,這樣大大提高了開發(fā)者的開發(fā)效率。開發(fā)者除了日常的SQL調(diào)優(yōu)之外,使用該框架能讓調(diào)優(yōu)后的SQL語句執(zhí)行效率得到更進(jìn)一步的提高。
⑷ MySQL數(shù)據(jù)庫
MySQL是目前最為流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),并且支持多種語音進(jìn)行開發(fā)使用。與此同時,MySQL是一款免費(fèi)的關(guān)系型數(shù)據(jù)庫,其支持千萬級別的數(shù)據(jù)量處理,因此其性能是十分高效的。
⑸ Bootstrap框架
Bootstrap框架是基于HTML、CSS、JavaScript開發(fā)的一套性能強(qiáng)悍、開發(fā)簡便的前端框架,提供了優(yōu)雅的HTML和CSS規(guī)范[9],在網(wǎng)頁開發(fā)的時候可以用這套框架來設(shè)計一套界面精美的Web頁面。
2 系統(tǒng)實現(xiàn)
學(xué)生端提供發(fā)表帖子、帖子評論、帖子收藏和關(guān)注他人等功能,教師端提供帖子審核、用戶管理和話題分類管理等功能。本系統(tǒng)的數(shù)據(jù)庫表采用Visio軟件進(jìn)行設(shè)計,整系統(tǒng)E-R圖如圖2所示。
2.1 教師端
教師端有如下三大功能模塊,教師端用例圖如圖3所示。
⑴ 學(xué)生賬號管理功能
此模塊主要提供學(xué)生信息的列表操作,可以對學(xué)生的賬號進(jìn)行管理操作。教師端可以對違紀(jì)學(xué)生的賬號進(jìn)行封禁操作;可以直接查看學(xué)生的賬號信息的內(nèi)容,比如賬號名、年齡、性別、簡介等,通過可視化的方式來進(jìn)行賬號的管理操作。
⑵ 帖子管理功能
此模塊主要提供對同學(xué)們所發(fā)布的共享筆記內(nèi)容進(jìn)行查看和禁發(fā)等操作。如果筆記內(nèi)容包含不良信息內(nèi)容或者圖片的話,教師可以審核不通過此則帖子信息內(nèi)容。教師端可以在此模塊對學(xué)生發(fā)布的帖子信息進(jìn)行查看操作,如帖子里面的具體內(nèi)容、帖子圖片、作者以及所屬板塊等的信息內(nèi)容。教師端可以對帖子直接進(jìn)行通過審核、拒絕通過的操作。學(xué)生發(fā)布的帖子必須要通過審核后才能展示到首頁頁面。
⑶ 話題管理功能
此模塊主要提供論壇系統(tǒng)的話題分類管理功能,針對用戶發(fā)帖時選擇的話題類別進(jìn)行相應(yīng)處理,可以查看當(dāng)前論壇下的所有話題分類,以及該話題具體的創(chuàng)建時間等相關(guān)信息。教師可以對話題分類的文案進(jìn)行修改操作;可以刪除當(dāng)前話題以及該話題下的所有帖子內(nèi)容;可以直接新增話題內(nèi)容,新增成功之后學(xué)生在發(fā)帖的時候,可以直接指定發(fā)帖所屬的話題板塊進(jìn)行發(fā)送操作。
2.2 學(xué)生端
學(xué)生端有如下四個功能模塊,學(xué)生端用例圖如圖4所示。
⑴ 首頁展示功能
首頁主要是展示已發(fā)布的帖子內(nèi)容、熱門帖子排行榜、話題板塊分類,可以針對來訪者訪問時IP地址進(jìn)行統(tǒng)計。用戶可以直觀地獲取到自己想要的帖子信息內(nèi)容,以及帖子的詳情文案。用戶可以根據(jù)關(guān)鍵字搜索帖子內(nèi)容。熱門帖子的展示主要是根據(jù)帖子的點(diǎn)贊數(shù)和評論數(shù)來進(jìn)行排列展示的。
⑵ 學(xué)生關(guān)注功能
此模塊主要提供學(xué)生用戶關(guān)注其他用戶的功能,當(dāng)前學(xué)生用戶關(guān)注的其他用戶成功后,可以直接在個人中心里面查看關(guān)注列表,通過關(guān)注列表可以查看有哪些用戶關(guān)注了自己以及自己關(guān)注的用戶。學(xué)生可以對關(guān)注或者是被關(guān)注的用戶的信息頁面進(jìn)行訪問。
⑶ 學(xué)生個人管理功能
此模塊主要提供用戶修改個人賬號密碼以及相關(guān)個人信息資。用戶還可以查看自己收藏的帖子以及具體內(nèi)容。此外,還可以查看回帖情況以及相應(yīng)的評論內(nèi)容。
⑷ 帖子信息管理功能
此模塊主要提供帖子信息內(nèi)容的編輯和發(fā)布、帖子內(nèi)容的修改、用戶回帖,以及樓主回復(fù)、收藏帖子等功能。用戶可以分享自己想分享的話題和心得內(nèi)容,并選定指定的話題內(nèi)容來進(jìn)行發(fā)布,帖子的內(nèi)容將會直接指定到指定的內(nèi)容話題下。
2.3 系統(tǒng)界面
圖5是教師端的后臺帖子管理界面,左側(cè)為模塊管理功能,右側(cè)為主管理操作界面。點(diǎn)擊左側(cè)對應(yīng)的功能模塊就能夠進(jìn)入其對應(yīng)的主管理操作界面,對帖子、用戶、話題板塊、訪問記錄的內(nèi)容進(jìn)行管理操作。
圖6為教師端話題板塊管理主頁面操作圖,教師端可以直接在這個頁面對我們的話題板塊進(jìn)行新增、修改和刪除等操作,這里對應(yīng)我們用戶端首頁帖子發(fā)布時選定的話題板塊內(nèi)容,當(dāng)帖子發(fā)出時將會同步到指定的話題下。當(dāng)用戶想查看指定話題的內(nèi)容時,只需要點(diǎn)擊感興趣的話題,即可展示對應(yīng)的帖子文章內(nèi)容了。
圖7為學(xué)生端發(fā)布帖子時的帖子內(nèi)容編輯頁面,這里包括了帖子的文字內(nèi)容的編輯、帖子標(biāo)題內(nèi)容的編輯、帖子圖片內(nèi)容的上傳、帖子話題板塊的指定,學(xué)生發(fā)帖后帖子內(nèi)容將會展示到論壇首頁中去。
圖8為首頁內(nèi)容展示頁面,首頁展示的內(nèi)容主要是來訪者登錄進(jìn)官網(wǎng)的時候展示的所有首頁內(nèi)容,這里內(nèi)容包括了展示同學(xué)們發(fā)布的帖子內(nèi)容、熱門帖子排行榜以及展示、話題板塊分類展示、來訪者訪問時IP地址統(tǒng)計、帖子標(biāo)題搜索等模塊功能匯總。來訪者訪問首頁的時候可以直觀地獲取到自己想要的帖子信息內(nèi)容。
3 結(jié)束語
隨著中國高等教育走向普及化、現(xiàn)代化,在校學(xué)生規(guī)模數(shù)量持續(xù)增加,大班上課現(xiàn)象普遍。但是在課余時間,學(xué)生與老師之間的溝通方式較為單調(diào),大部分采用郵箱、社交軟件等方式。在現(xiàn)有的教學(xué)模式下,師生之間仍缺乏一個有力的學(xué)術(shù)論壇交流平臺,為其溝通搭建起橋梁。該平臺讓學(xué)生不受限于課堂有限的時間內(nèi)與老師進(jìn)行學(xué)術(shù)交流,也不再受限于傳統(tǒng)的線下社交軟件的交流方式,營造更好的學(xué)術(shù)氛圍,以更能帶來學(xué)習(xí)價值和學(xué)習(xí)效率的學(xué)術(shù)論壇的方式來進(jìn)行交流。
我們開發(fā)的學(xué)術(shù)論壇管理系統(tǒng),主要采用的是主流的SSM框架,該系統(tǒng)功能較為齊全,系統(tǒng)設(shè)計初衷是:高質(zhì)量、高效率地助力師生課后的學(xué)術(shù)交流,營造良好的學(xué)術(shù)氛圍。
參考文獻(xiàn)(References):
[1] 張華.教育信息化背景下智慧校園的建設(shè)[J]. 教學(xué)與管理,2019.36:33-35
[2] 王玉剛.高校數(shù)字化教學(xué)資源建設(shè):思路、戰(zhàn)略與路徑[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019.218(2):72
[3] 衣田田,朱和奇,劉嵐.高校學(xué)術(shù)交流平臺的重要性與構(gòu)建建議[J].發(fā)現(xiàn),2018.3:142-143
[4] 馮棡,畢明洋,戎杰,康哲,廖巧.互聯(lián)網(wǎng)環(huán)境下高校師生信息反饋平臺研究[J].合作經(jīng)濟(jì)與科技,2017.12:117-119
[5] 韓寅瑩,劉永齊,康月,任永強(qiáng).基于三層架構(gòu)與MVC設(shè)計模式的古文化展示保護(hù)系統(tǒng)的設(shè)計與實現(xiàn)[J].信息技術(shù)與信息化,2020.7:9-11
[6] 李洋.SSM框架在Web應(yīng)用開發(fā)中的設(shè)計與實現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展,2016.26(12):190-194
[7] 蘇建華.基于移動平臺信息化課程《Java Web開發(fā)技術(shù)》建設(shè)的思考[J].福建電腦,2018.34(5):176,128
[8] 喬嵐.基于MyBatis和Spring的JavaEE數(shù)據(jù)持久層的研究與應(yīng)用[J].信息與電腦(理論版),2017.8:73-76
[9] 潘惠蘋.Bootstrap技術(shù)在Web移動開發(fā)中的應(yīng)用研究[J].計算機(jī)時代,2019.5:27-29