李忠毅
(中山大學新華學院信息科學學院,東莞523133)
過去的日常交流論或者博客,后端大多使用JSP、SSH、SSM 技術進行實現,基于這幾種技術實現,無一例外都會遇到大問題:大量的.xml 文件使人眼花繚亂,對于建立個人論壇博客有極大的阻礙,如果使用Spring?Boot 進行后端技術,可以做到零個.xml 文件,極大地降低了項目的復雜性,前端技術使用Bootstrap 和Thyme?leaf,實現前后端分離,MVC 架構降低了前后端的耦合,是整個系統擁有高內聚,低耦合的特性,Bootstrap 作為響應性布局框架,使個人博客可以跨平臺使用,實現一套代碼適配多個平臺。
開發環境:JDK 1.8,Tomcat 服務器。
開發工具:后端開發:IDEA 2020.1,前端開發:WebStrom,數據庫:MySQL 5.7,數據庫可視化軟件:Navicate。
開發技術:SpringBoot 后端技術、MyBatis、Boot?strap。
小型日常交流論壇的模塊有三個:登錄注冊模塊、用戶操作模塊、管理員模塊。
(1)用戶登錄注冊模塊
用戶可以在網頁進行登錄注冊功能,擁有登錄狀態的用戶才可以瀏覽帖子詳情,發新帖子,對帖子進行回復,未登錄用戶只能在主頁瀏覽帖子的標題和作者。
(2)用戶的操作模塊
已經登錄的用戶可以查看帖子,點贊帖子,搜索帖子,回復帖子,回復別人的回復,點贊回復,修改和刪除自己的帖子。此外還可以進行修改密碼,修改昵稱,修改個人信息,上傳頭像的操作。
(3)管理員模塊
管理員登錄后可以直接對所有的帖子進行刪除和修改操作,對所有賬號進行管理。
數據庫設計在動態網站的設計中占有非常重要的地位,數據庫結構設計的好壞會直接影響到應用程序的運行效率。合理的數據庫結構設計能夠提高數據讀取與存儲的效率,能夠保證數據的一致性和完整性。該系統的數據庫使用MySQL 來設計和實現[2]。
小型日常交流論壇需要用到4 個數據表:用戶表、帖子表、回復表、二次回復表,數據庫ER 圖如圖1所示。

圖1 數據庫的ER圖
(1)用戶表用于存放用戶id,用戶名,用戶密碼,頭像地址,sessionID,其中頭像地址為空時(用戶未上傳頭像)使用默認頭像,sessionID 用于保持登錄狀態。
(2)帖子表用于存放帖子id,帖子標題,帖子內容,發帖人ID。
(3)回復表用于存放帖子id,回復id,評論人id,回復時間,評論內容,修改時間,評論人姓名,評論的隨機id,點贊次數,其中重要的是平人的隨機id,給每一條評論賦予唯一標識。
(4)二次回復表存放二次回復id,回復內容,帖子id,創建時間,一級回復的隨機id,評論人姓名。
系統采用MVC 結構進行實現,對視圖層、模型層、控制層進行了分離,實現高內聚低耦合的特點。其中,視圖層使用Bootstrap 進行設計和實現,其跨平臺的特性能夠做到一套代碼多個平臺使用,極大減輕了開發者的負擔。模型層也是數據訪問層,進行對數據庫的查找、添加、修改和刪除,實現數據持久化操作。控制層實現了業務邏輯,對模型層進行控制,實現用戶的需求。
發帖功能是一個小型日常交流論壇的核心,用戶在登錄后即可獲得發帖功能。
發帖功能的代碼實現如下所示:


圖2 發帖功能流程圖
展示帖子也是論壇的核心功能,后端通過JDBC 操作數據庫獲取數據并實現分頁功能,通過model 方法給前端返回數據,前端對數據進行循環遍歷,展示到主頁面上供用戶查看,核心代碼段如下:


圖3 展示帖子流程圖
小型日常交流論壇經常會有用戶登錄,在Spring?Boot 中使用攔截器,可以便捷地通過cookie 保持用戶的登錄態,減少用戶登錄次數,方便用戶操作,提高了用戶體驗,下面為核心代碼段:

系統功能實現完成之后,需要進行各個模塊的測試。不僅是為了保障模塊能夠正常運行,還需要保障系統符合設計需求。
系統測試:

表1 測試環境搭建
在表1 的環境下,進行如下測試,得到表2。

表2 系統功能測試
本文使用了十分熱門的SpringBoot 后端技術和Bootstrap 前端技術搭建了小型日常交流論壇。基于這兩項技術搭建的論壇界面靈活、代碼量少、響應速度快,極大地提高了程序員的開發效率。通過介紹需求分析、系統設計、數據庫設計、核心功能實現,對基于SpringBoot 技術的平臺開發具有一定的參考意義。