admin 管理员组

文章数量: 887021


2024年1月28日发(作者:简述smart原则的内容)

基于SSM框架的学术论坛管理系统设计与实现

作者:杨世文 侯超钧

来源:《计算机时代》2021年第02期

摘 要: 針对高校师生之间学术交流的实际需求,开发了一套基于SSM(Spring + Spring

MVC + MyBatis)框架的学术论坛管理系统。该学术论坛管理系统前端主要分为教师端和学生端,学生端提供发表帖子、帖子评论、帖子收藏和关注他人等功能;教师端提供帖子审核、用户管理和话题分类管理等功能。系统前端使用jQuery框架进行数据交互,采用Bootstrap框架进行页面样式渲染;系统后端基于SSM框架进行开发,数据库采用MySQL,结合模板引擎进

行数据的渲染操作。系统经使用表明,系统能够在一定程度上加强师生之间课余时间的学术交流,有利于促成良好的学风氛围,可为高校学术论坛管理系统的设计和实现提供参考。

关键词: Spring; Spring MVC; MyBatis; MySQL; 学术论坛管理系统

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

现阶段我国正处于信息科技高速发展阶段,随着政府对数字化和信息化政策的大力支持,智慧校园和数字信息化的概念逐步得到了推广[1]。在现今的学校教学生活中,师生之间的课余交流是十分重要的,有利于学术氛围的形成。在现有软件开发技术条件下,使用论坛来进行相关的技术性讨论和学术性讨论是十分普遍的,许多技术爱好者都喜欢通过论坛的方式分享自己的开发技术和开发经验[2]。

现在不少高校都有各自专属的课程中心,用于提供一个课程学术交流平台[3],例如我校使用了由上海卓越睿星数码科技有限公司开发的一套学校课程中心系统。但是这些系统普遍存在一些不足之处,如只提供简化版的学术论坛交流系统,许多学生无法在此平台上共享自己更多的学术资源和学习心得,教师端功能过少,不能审核学生所发的帖子内容等相关功能,无法对恶意刷帖、恶意评论者进行封禁操作,从而导致平台难以治理的现象,这种论坛平台的设计也没有充分考虑到师生反馈的实际需求[4]。

本文主要开发了一个能适用于高校实际情况的学术论坛管理系统,系统主要分教师端和学生端,实现了帖子管理、收藏管理、评论管理、关注管理、学生账号管理等主要功能。该系统

页面精简,操作简便,交互体验友好。系统采用的是Spring+Spring MVC+ MyBatis框架和MySQL数据库,前端采用jQuery和Bootstrap框架进行的页面设计,通过Ajax进行异步数据交互,提高页面数据渲染的友好度。

1 系统设计

1.1 系统框架设计

本系统的架构设计严格遵守MVC三层架构[3],主要分为视图层(Controller层)、业务层(Service层)、数据持久层(Dao层)。系统主要分为教师端和学生端,学生在客户端编辑好帖子内容,然后提交发帖,服务器接收到这个请求,首先将数据传输到Controller层进行处理。Controller层接收到请求和提交数据,根据定义的规则调用相应的Service层进行业务处理操作,处理后的数据通过Dao层进行数据持久化并保存在MySQL数据库。系统相应的处理流程如图1所示。

1.2 技术实现

本系统主要采用Java EE的Spring+Spring MVC+ MyBatis三大框架开发,后台结合MySQL数据库进行持久化操作,采用整合Redis作为缓存的非关系型数据库。前端主要采用jQuery和Bootstrap框架进行页面数据渲染操作,使用Ajax进行异步数据交互操作,用于提高用户的操作友好度,为了提高缓存效率,还采用Redis非关系型数据库。

⑴ Spring框架

Spring框架是Java EE开发技术跨时代的代表性框架,主要的两个核心功能是控制反转(IoC)和面向切面(AOP)[5],能够将JavaBean对象交给Spring核心容器来进行存储和处理操作,开发者只需在容器中获取存储的JavaBean对象即可实现调用[6]。Spring框架极大程度地简化开发成本和提高了开发效率。

⑵ Spring MVC框架

Spring MVC框架是MVC三层架构中的Controller层,开发者可通过使用注解的方式直接设置请求的路径、参数,是一种典型的以请求为驱动的框架。首先将请求发送给控制器,然后再传递给模型对象,其顶层是基于Servlet接口实现的,其核心类为DispatcherServlet[7]。

⑶ MyBatis框架

MyBatis是一款性能高效的持久层框架,其底层是通过Java的反射和映射方式来对JDBC繁琐的执行步骤进行封装,避免了传统JDBC代码需要手动设置各个参数以及最终返回的结果集[8]。MyBatis框架主要是采用XML或注解的方式来进行配置和映射操作,开发者只需定义

好Dao层的接口以及相关XML配置文件即可实现对数据库的操作,这样大大提高了开发者的开发效率。开发者除了日常的SQL调优之外,使用该框架能让调优后的SQL语句执行效率得到更进一步的提高。

⑷ MySQL数据库

MySQL是目前最为流行的关系型数据库管理系统,并且支持多种语音进行开发使用。与此同时,MySQL是一款免费的关系型数据库,其支持千万级别的数据量处理,因此其性能是十分高效的。

⑸ Bootstrap框架

Bootstrap框架是基于HTML、CSS、JavaScript开发的一套性能强悍、开发简便的前端框架,提供了优雅的HTML和CSS规范[9],在网页开发的时候可以用这套框架来设计一套界面精美的Web页面。

2 系统实现

学生端提供发表帖子、帖子评论、帖子收藏和关注他人等功能,教师端提供帖子审核、用户管理和话题分类管理等功能。本系统的数据库表采用Visio软件进行设计,整系统E-R图如图2所示。

2.1 教师端

教师端有如下三大功能模块,教师端用例图如图3所示。

⑴ 学生账号管理功能

此模块主要提供学生信息的列表操作,可以对学生的账号进行管理操作。教师端可以对违纪学生的账号进行封禁操作;可以直接查看学生的账号信息的内容,比如账号名、年龄、性别、简介等,通过可视化的方式来进行账号的管理操作。

⑵ 帖子管理功能

此模块主要提供对同学们所发布的共享笔记内容进行查看和禁发等操作。如果笔记内容包含不良信息内容或者图片的话,教师可以审核不通过此则帖子信息内容。教师端可以在此模块对学生发布的帖子信息进行查看操作,如帖子里面的具体内容、帖子图片、作者以及所属板块等的信息内容。教师端可以对帖子直接进行通过审核、拒绝通过的操作。学生发布的帖子必须要通过审核后才能展示到首页页面。

⑶ 话题管理功能

此模块主要提供论坛系统的话题分类管理功能,针对用户发帖时选择的话题类别进行相应处理,可以查看当前论坛下的所有话题分类,以及该话题具体的创建时間等相关信息。教师可以对话题分类的文案进行修改操作;可以删除当前话题以及该话题下的所有帖子内容;可以直接新增话题内容,新增成功之后学生在发帖的时候,可以直接指定发帖所属的话题板块进行发送操作。

2.2 学生端

学生端有如下四个功能模块,学生端用例图如图4所示。

⑴ 首页展示功能

首页主要是展示已发布的帖子内容、热门帖子排行榜、话题板块分类,可以针对来访者访问时IP地址进行统计。用户可以直观地获取到自己想要的帖子信息内容,以及帖子的详情文案。用户可以根据关键字搜索帖子内容。热门帖子的展示主要是根据帖子的点赞数和评论数来进行排列展示的。

⑵ 学生关注功能

此模块主要提供学生用户关注其他用户的功能,当前学生用户关注的其他用户成功后,可以直接在个人中心里面查看关注列表,通过关注列表可以查看有哪些用户关注了自己以及自己关注的用户。学生可以对关注或者是被关注的用户的信息页面进行访问。

⑶ 学生个人管理功能

此模块主要提供用户修改个人账号密码以及相关个人信息资。用户还可以查看自己收藏的帖子以及具体内容。此外,还可以查看回帖情况以及相应的评论内容。

⑷ 帖子信息管理功能

此模块主要提供帖子信息内容的编辑和发布、帖子内容的修改、用户回帖,以及楼主回复、收藏帖子等功能。用户可以分享自己想分享的话题和心得内容,并选定指定的话题内容来进行发布,帖子的内容将会直接指定到指定的内容话题下。

2.3 系统界面

图5是教师端的后台帖子管理界面,左侧为模块管理功能,右侧为主管理操作界面。点击左侧对应的功能模块就能够进入其对应的主管理操作界面,对帖子、用户、话题板块、访问记录的内容进行管理操作。

图6为教师端话题板块管理主页面操作图,教师端可以直接在这个页面对我们的话题板块进行新增、修改和删除等操作,这里对应我们用户端首页帖子发布时选定的话题板块内容,当帖子发出时将会同步到指定的话题下。当用户想查看指定话题的内容时,只需要点击感兴趣的话题,即可展示对应的帖子文章内容了。

1.2 技术实现

本系统主要采用Java EE的Spring+Spring MVC+ MyBatis三大框架开发,后台结合MySQL数据库进行持久化操作,采用整合Redis作为缓存的非关系型数据库。前端主要采用jQuery和Bootstrap框架进行页面数据渲染操作,使用Ajax进行异步数据交互操作,用于提高用户的操作友好度,为了提高缓存效率,还采用Redis非关系型数据库。

⑴ Spring框架

Spring框架是Java EE开发技术跨时代的代表性框架,主要的两个核心功能是控制反转(IoC)和面向切面(AOP)[5],能够将JavaBean对象交给Spring核心容器来进行存储和处理操作,开发者只需在容器中获取存储的JavaBean对象即可实现调用[6]。Spring框架极大程度地简化开发成本和提高了开发效率。

⑵ Spring MVC框架

Spring MVC框架是MVC三层架构中的Controller层,开发者可通过使用注解的方式直接设置请求的路径、参数,是一种典型的以请求为驱动的框架。首先将请求发送给控制器,然后再传递给模型对象,其顶层是基于Servlet接口实现的,其核心类为DispatcherServlet[7]。

⑶ MyBatis框架

MyBatis是一款性能高效的持久层框架,其底层是通过Java的反射和映射方式来对JDBC繁琐的执行步骤进行封装,避免了传统JDBC代码需要手动设置各个参数以及最终返回的结果集[8]。MyBatis框架主要是采用XML或注解的方式来进行配置和映射操作,开发者只需定义好Dao层的接口以及相关XML配置文件即可实现对数据库的操作,这样大大提高了开发者的开发效率。开发者除了日常的SQL调优之外,使用该框架能让调优后的SQL语句执行效率得到更进一步的提高。

⑷ MySQL数据库

MySQL是目前最为流行的关系型数据库管理系统,并且支持多种语音进行开发使用。与此同时,MySQL是一款免费的关系型数据库,其支持千万级别的数据量处理,因此其性能是十分高效的。

⑸ Bootstrap框架

Bootstrap框架是基于HTML、CSS、JavaScript开发的一套性能强悍、开发简便的前端框架,提供了优雅的HTML和CSS规范[9],在网页开发的时候可以用这套框架来设计一套界面精美的Web页面。

2 系统实现

学生端提供发表帖子、帖子评论、帖子收藏和关注他人等功能,教师端提供帖子审核、用户管理和话题分类管理等功能。本系统的数据库表采用Visio软件进行设计,整系统E-R图如图2所示。

2.1 教师端

教师端有如下三大功能模块,教师端用例图如图3所示。

⑴ 学生账号管理功能

此模块主要提供学生信息的列表操作,可以对学生的账号进行管理操作。教师端可以对违纪学生的账号进行封禁操作;可以直接查看学生的账号信息的内容,比如账号名、年龄、性别、简介等,通过可视化的方式来进行账号的管理操作。

⑵ 帖子管理功能

此模块主要提供对同学们所发布的共享笔记内容进行查看和禁发等操作。如果笔记内容包含不良信息内容或者圖片的话,教师可以审核不通过此则帖子信息内容。教师端可以在此模块对学生发布的帖子信息进行查看操作,如帖子里面的具体内容、帖子图片、作者以及所属板块等的信息内容。教师端可以对帖子直接进行通过审核、拒绝通过的操作。学生发布的帖子必须要通过审核后才能展示到首页页面。

⑶ 话题管理功能

此模块主要提供论坛系统的话题分类管理功能,针对用户发帖时选择的话题类别进行相应处理,可以查看当前论坛下的所有话题分类,以及该话题具体的创建时间等相关信息。教师可以对话题分类的文案进行修改操作;可以删除当前话题以及该话题下的所有帖子内容;可以直接

新增话题内容,新增成功之后学生在发帖的时候,可以直接指定发帖所属的话题板块进行发送操作。

2.2 学生端

学生端有如下四个功能模块,学生端用例图如图4所示。

⑴ 首页展示功能

首页主要是展示已发布的帖子内容、热门帖子排行榜、话题板块分类,可以针对来访者访问时IP地址进行统计。用户可以直观地获取到自己想要的帖子信息内容,以及帖子的详情文案。用户可以根据关键字搜索帖子内容。热门帖子的展示主要是根据帖子的点赞数和评论数来进行排列展示的。

⑵ 学生关注功能

此模块主要提供学生用户关注其他用户的功能,当前学生用户关注的其他用户成功后,可以直接在个人中心里面查看关注列表,通过关注列表可以查看有哪些用户关注了自己以及自己关注的用户。学生可以对关注或者是被关注的用户的信息页面进行访问。

⑶ 学生个人管理功能

此模块主要提供用户修改个人账号密码以及相关个人信息资。用户还可以查看自己收藏的帖子以及具体内容。此外,还可以查看回帖情况以及相应的评论内容。

⑷ 帖子信息管理功能

此模块主要提供帖子信息内容的编辑和发布、帖子内容的修改、用户回帖,以及楼主回复、收藏帖子等功能。用户可以分享自己想分享的话题和心得内容,并选定指定的话题内容来进行发布,帖子的内容将会直接指定到指定的内容话题下。

2.3 系统界面

图5是教师端的后台帖子管理界面,左侧为模块管理功能,右侧为主管理操作界面。点击左侧对应的功能模块就能够进入其对应的主管理操作界面,对帖子、用户、话题板块、访问记录的内容进行管理操作。

图6为教师端话题板块管理主页面操作图,教师端可以直接在这个页面对我们的话题板块进行新增、修改和删除等操作,这里对应我们用户端首页帖子发布时选定的话题板块内容,当

帖子发出时将会同步到指定的话题下。当用户想查看指定话题的内容时,只需要点击感兴趣的话题,即可展示对应的帖子文章内容了。


本文标签: 进行 帖子 操作 话题 内容