高校论坛管理系统的设计与开发

2021-12-18 13:42费孝宏王琪
电脑知识与技术 2021年31期

费孝宏 王琪

摘要:针对网络信息量巨大使得高校师生信息搜索及交流不理想的现象设计了校园论坛管理系统。通过SSM(Spring、SpringMVC和Mybatis)框架和Jquery框架分别构建了后端及前端框架,基于控制层,业务层及数据传输层三层模型,详细设计后台与前端交互、逻辑处理、数据传输,实现了论坛的文章管理、问答管理、评论管理、公告管理等功能。最后,通过多个测试场景测试,表明了该系统的有效性。

关键词:SSM框架;校园论坛;Jquery;AJAX;逻辑处理

中图分类号:TP311.52      文献标识码: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 背景

隨着互联网技术的发展,国内BBS论坛也越来越受人们的喜爱,新浪、搜狐、网易等大型论坛已成为信息交流的标志,越来越多的人习惯于通过BBS论坛获取信息,交流经验,分享生活[1-2]。然而,随着网络信息爆炸,高校师生精准搜索到有用信息并完成交流,就显得尤为困难,同时由于各论坛及用户使用技术不同,信息延时,长时间得不到回复,使得论坛交流不佳。对于高校而言,校园论坛不仅代表着学校的信息发展,同时也是师生有效沟通交流获取信息的途径,因此本文针对高校开发一套小平台,使高校用户能够更快速地获取有用信息,且有利于高校用户维护。

2 需求分析

本论坛系统的主要目的是给学生及教师提供一个交流平台,便于师生获取信息,交流校园生活、学习及技术经验心得等。因此,通过分析CSDN论坛及多个高校官网特点,主要设计了五个功能块,包括系统管理、文章管理、评论区管理、问答管理、公告管理。系统管理主要功能是权限和用户管理,系统初期设置管理员及普通用户,不同用户分配权限不同。文章主要包括文字和图片输入,文章修改,保存,发布,发布权限,删除权限。评论管理中用户可以对文章进行评论,发布,删除。问答管理是对文章管理的补充,一般的论坛系统评论和问答通常混合在一起造成搜索不便。因此,本文单独设计问答管理模块,用户的疑问发布者的回答放在问答版块中,可编辑修改保存发布,用户角色不同权限不同。公告管理,是根据学生上网习惯,如大部分学生更愿意在论坛冲浪而忽视查看学校官网,为了学生更有效地获取校园通知而单独设计的版块,是对学校官网的补充。管理员发布公告后,用户公告栏可同步更新,根据用户权限执行不同功能包括编辑、修改、保存、置顶、文件上传、删除。

3 系统框架设计

系统框架的搭建包括ID生成器、异常工具类、文件上传、权限控制共4个部分。

3.1 id生成工具类

利用IdWorker类生成64位不重复的id;截取其中32位并使得所有业务ID唯一,如图1。

3.2 异常类工具类

本项目使用自定义异常,设计时必须继承运行期异常,因为运行期异常中的类和对象才可以被throws和throw操作,在自定义的类中对可能出现的异常情况进行自定义描述,写入异常识别码、异常信息属性,在异常情况出现位置抛出识别码,就会出现具体异常的信息。自定义类中描述常见的异常情况,如非空、不等、非法符号等情况进行封装,使得代码更加简化,更具有可扩展性。完善自定义类后,可具体描述异常情况处理,以便于当运行出现了定义的异常情况时可抛出正确合理的异常信息。

3.3 文件上传

首先获得文件名及文件后缀,加载配置文件路径,利用FastDFS架构进行文件上传,可满足将多个文件的业务id及路径放在一个空数据表中,且项目删除不影响文件数据[3];利用Tracker server 进行文件的追踪和调度;利用Storage Server实现上传,流程如图2。

3.4 权限控制

本系统的权限认证做法是在用户登录时将用户信息放入session中,前端调用接口时将session传入后端,后端对session中的用户信息进行解析判断,判断用户是否拥有相关权限。

4 系统详细设计

4.1 数据库设计

设计数据表时,存在单表操作,两个及以上多表的关联操作。多表关联操作采用表的主键id,其中,若为一对一、一对多的关系,可用关联字段关联,如id;若表之间是多对多关系,则需要为多对多关系建立一个中间表作为缓冲,存储关系映射,节约数据库空间[4]。本系统设计了14类数据表,包括:用戶表、角色表、权限表、用户角色中间表、角色权限表、学院表、专业表、附件表、文章表、评论表、问题表、回答表、公告表、公告接收人表,以用户表,文章表为例,如表1,表2。

4.2 系统功能模块实现

1)系统执行流程

系统执行的过程分为前端,后端,前端接收数据,后端处理数据[5],用户通过前端控制器发送请求,前端控制器根据用户请求通过处理器映射器获得执行标识,通过处理器适配器发送给处理器进行对应的数据处理,最后将处理数据经适配器返回到前端控制,前端将得到的数据发送到视图解析器进行数据到页面的映射,结果返回到前端控制器为用户进行可视化展示,如图3所示。

2)用户登录和管理

用户登录提供输入用户名、密码、密码记住、信息判断、注册等功能。用户管理分为管理员和用户。管理员鉴权通过处理系统所有用户信息;用户鉴权通过处理个人信息。

3)公告管理

公告管理包括查询、新增、编辑、删除4部分。查询通关关键字查询公告标题;用户通过权限验证新增公告,编辑和删除是提供给管理员的接口,其中新增,编辑删除时分两种情况,若为公有公告需在公告主数据表中插入新增公告业务id,若为私有公告则需同时在主表和选定的接收人公告表中新增id。

4)文章管理

文章管理可分为查询,编辑,新增,删除4部分。查询进行关键词搜索,采用模糊匹配方法。用户在权限允许范围内对文章有编辑和删除的操作。设计流程如图4,效果图如图5。

5)问答管理

问答管理分为问题管理和回答管理,问题管理默认可查看问题数据表中所有问题列表,通过关键词模糊查询数据表中作者公告题目返回查询结果。用户可创建问题,通过权限验证后可编辑和删除问题。回答列表在问题列表之下,展示此问题所有答案同时输入用户新增答案。仅创建者和管理员可修改和删除回答。流程图如图6,效果图如图7。

5 功能模块测试

设计了基础模块测试和权限测试两部分,每部分进行3组测试,共6组测试,测试结果均达到了预期。

5.1 基础模块测试

1)测试内容:输入正确的账号密码进行登录。实验结果:登录成功,正确跳转系统首页,首页能够正常展示。

2)测试内容:从导航栏进入文章管理、问答管理、公告管理,输入关键词点击查询列表信息。实验结果:根据输入的关键词,正确显示匹配关键字的信息列表,点击标题,能够进入详情页。

3)测试内容:进入各模块首页,点击新增按钮,输入相关内容,在富文本编辑器中插入图片,插入代码,改变字体样式,点击提交。实验结果:新增一条信息,点击标题,进入详情页,内容和自己输入的内容一致。

5.2 权限测试

1)测试内容:正常登录系统,将系统的路径复制一份,使用另一个浏览器打开此路径。实验结果:弹框报错,您还没有登录账号,请登录后重新访问。

2)测试内容:使用普通用户的账号密码进行登录,点击删除按钮,点击用户管理导航栏。实验结果:弹框报错,您没有该权限。

3)测试内容:使用管理员账号登录系统,点击删除按钮,从用户管理页给用户赋予角色。实验结果:能够正常的删除,给用户赋予角色后,使用该账号登录系统就拥有的相关权限。

6 结束语

系统采用的SSM框架设计了校园论坛系统,搭建了包含id生成器、自定义异常类以及异常方法、数据传输类以及权限控制的系统框架。在框架基础上实现功能模块包括文章管理、评论区管理、问答管理、用户管理。系统首先搭建系统框架,然后添加功能模块,因此,可扩展性很强。同时,经多组测试,本论坛管理系统可以实现文章,用户,评论等功能,操作简单,有利于校园用户进行信息交流。

参考文献:

[1] 张冬,田艳.校园兼职信息管理系统分析与设计[J].软件工程,2019,22(7):37-39.

[2] 何博文,郑剑.BBS论坛系统设计与实现[J].电脑知识与技术,2018,14(18):42-44.

[3] 朱帅.基于FastDFS的云存储文件系统性能优化设计与实现[D].南京:东南大学,2017.

[4] 于简溪.基于Java的BBS论坛系统的设计与实现[J].信息通信,2016,29(2):117-119.

[5] 曹臣承.网络论坛管理系统的设计与实现[J].湖南城市学院学报(自然科学版),2016,25(2):123-124.

【通联编辑:谢媛媛】

收稿日期:2021-06-20

基金项目:河南省高等学校重点科研项目(项目编号:19B520017)

作者简介:费孝宏(1995—),男,江苏淮安人,学士,研究方向为Java开发;王琪(1987—),女,通信作者,讲师,硕士,研究方向为图像处理、计算机视觉。