APP下载

基于SpringBoot 的小型日常交流论坛的设计与实现

2020-10-13李忠毅

现代计算机 2020年25期
关键词:帖子头像数据库

李忠毅

(中山大学新华学院信息科学学院,东莞523133)

0 引言

过去的日常交流论或者博客,后端大多使用JSP、SSH、SSM 技术进行实现,基于这几种技术实现,无一例外都会遇到大问题:大量的.xml 文件使人眼花缭乱,对于建立个人论坛博客有极大的阻碍,如果使用Spring⁃Boot 进行后端技术,可以做到零个.xml 文件,极大地降低了项目的复杂性,前端技术使用Bootstrap 和Thyme⁃leaf,实现前后端分离,MVC 架构降低了前后端的耦合,是整个系统拥有高内聚,低耦合的特性,Bootstrap 作为响应性布局框架,使个人博客可以跨平台使用,实现一套代码适配多个平台。

1 开发技术与工具

开发环境:JDK 1.8,Tomcat 服务器。

开发工具:后端开发:IDEA 2020.1,前端开发:WebStrom,数据库:MySQL 5.7,数据库可视化软件:Navicate。

开发技术:SpringBoot 后端技术、MyBatis、Boot⁃strap。

2 系统设计

2.1 模块设计

小型日常交流论坛的模块有三个:登录注册模块、用户操作模块、管理员模块。

(1)用户登录注册模块

用户可以在网页进行登录注册功能,拥有登录状态的用户才可以浏览帖子详情,发新帖子,对帖子进行回复,未登录用户只能在主页浏览帖子的标题和作者。

(2)用户的操作模块

已经登录的用户可以查看帖子,点赞帖子,搜索帖子,回复帖子,回复别人的回复,点赞回复,修改和删除自己的帖子。此外还可以进行修改密码,修改昵称,修改个人信息,上传头像的操作。

(3)管理员模块

管理员登录后可以直接对所有的帖子进行删除和修改操作,对所有账号进行管理。

2.2 数据库设计

数据库设计在动态网站的设计中占有非常重要的地位,数据库结构设计的好坏会直接影响到应用程序的运行效率。合理的数据库结构设计能够提高数据读取与存储的效率,能够保证数据的一致性和完整性。该系统的数据库使用MySQL 来设计和实现[2]。

小型日常交流论坛需要用到4 个数据表:用户表、帖子表、回复表、二次回复表,数据库ER 图如图1所示。

图1 数据库的ER图

(1)用户表用于存放用户id,用户名,用户密码,头像地址,sessionID,其中头像地址为空时(用户未上传头像)使用默认头像,sessionID 用于保持登录状态。

(2)帖子表用于存放帖子id,帖子标题,帖子内容,发帖人ID。

(3)回复表用于存放帖子id,回复id,评论人id,回复时间,评论内容,修改时间,评论人姓名,评论的随机id,点赞次数,其中重要的是平人的随机id,给每一条评论赋予唯一标识。

(4)二次回复表存放二次回复id,回复内容,帖子id,创建时间,一级回复的随机id,评论人姓名。

3 系统实现

系统采用MVC 结构进行实现,对视图层、模型层、控制层进行了分离,实现高内聚低耦合的特点。其中,视图层使用Bootstrap 进行设计和实现,其跨平台的特性能够做到一套代码多个平台使用,极大减轻了开发者的负担。模型层也是数据访问层,进行对数据库的查找、添加、修改和删除,实现数据持久化操作。控制层实现了业务逻辑,对模型层进行控制,实现用户的需求。

3.1 发帖功能模块

发帖功能是一个小型日常交流论坛的核心,用户在登录后即可获得发帖功能。

发帖功能的代码实现如下所示:

图2 发帖功能流程图

3.2 展示帖子模块

展示帖子也是论坛的核心功能,后端通过JDBC 操作数据库获取数据并实现分页功能,通过model 方法给前端返回数据,前端对数据进行循环遍历,展示到主页面上供用户查看,核心代码段如下:

图3 展示帖子流程图

3.3 维持登录状态模块

小型日常交流论坛经常会有用户登录,在Spring⁃Boot 中使用拦截器,可以便捷地通过cookie 保持用户的登录态,减少用户登录次数,方便用户操作,提高了用户体验,下面为核心代码段:

4 系统运行与测试分析

系统功能实现完成之后,需要进行各个模块的测试。不仅是为了保障模块能够正常运行,还需要保障系统符合设计需求。

系统测试:

表1 测试环境搭建

在表1 的环境下,进行如下测试,得到表2。

表2 系统功能测试

5 结语

本文使用了十分热门的SpringBoot 后端技术和Bootstrap 前端技术搭建了小型日常交流论坛。基于这两项技术搭建的论坛界面灵活、代码量少、响应速度快,极大地提高了程序员的开发效率。通过介绍需求分析、系统设计、数据库设计、核心功能实现,对基于SpringBoot 技术的平台开发具有一定的参考意义。

猜你喜欢

帖子头像数据库
你多久换一次头像或昵称
你多久换一次头像和昵称
注意:社交头像可能会泄露你的性格
数据库
暴力老妈
数据库
数据库
数据库
高手是这样拍马屁的
我是怎样在坛子里堕落的