摘 要
基于SpringBoot和Vue的实践性教学系统是一个前后端分离的、响应式的在线学习平台,旨在通过实践驱动的方法提升学习效果。系统后端采用SpringBoot框架,利用其快速开发的特点以及广泛的社区支持,实现了一系列RESTful API接口,负责处理用户认证、课程类型管理等核心业务逻辑。它集成了JWT(JSON Web Tokens)用于安全的用户身份验证,并使用MySQL数据库来持久化存储用户数据和教学内容。前端则由Vue.js构建,这是一个轻量级且高效的JavaScript框架,用以创建动态的单页面应用程序(SPA)。Vue易于上手且灵活,能够通过组件化的方式构建用户界面,并通过Axios库与后端进行数据交互。本系统采用java语言,MySQL数据库,以B/S结构进行开发设计,保证了系统的扩展性和维护性。此学校推荐平台以其便捷性和智能化,满足了现代旅行者对高效学校规划的需求。
关键词:教学; java语言;B/S结构;MySQL数据库
4 系统的设计
4.1系统总功能模块设计
实践性教学系统分三大部分,即管理员管理、教师管理和学生管理。系统按照用户的实际需求开发而来,贴近生活。从管理员出拿到分配好的账号密码可以进入系统,使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。整体功能展示如图4-1所示。
图4-1 系统整体功能图
4.2.2数据表设计(共23张表)
数据库表的设计是很关键的,在数据库的建立中占非常重要的地位,它是建立数据库资料信息的基础部分,为数据库提供数据的支持和保障,是建立数据库中必不可少的环节。下面是实践性教学系统中重要数据库表的设计。数据表的详细情况如下表所示。
表4-1:菜单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
menujson | longtext | 4294967295 | 菜单 |
表4-2:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-3:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
。
。
。
。
表4-23:毕设论文
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
bishemingcheng | varchar | 200 | 毕设名称 | ||
bishezhaopian | longtext | 4294967295 | 毕设照片 | ||
tijiaoshijian | datetime | 提交时间 | |||
lunwenfujian | longtext | 4294967295 | 论文附件 | ||
bisheneirong | longtext | 4294967295 | 毕设内容 | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
xueshengzhanghao | varchar | 200 | 学生账号 | ||
xueshengxingming | varchar | 200 | 学生姓名 | ||
nianji | varchar | 200 | 年级 | ||
banji | varchar | 200 | 班级 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
5系统实现
5.1系统功能实现
5.1.1前台首页实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过点击导航条上的功能进入各功能详细页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如账号、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储;如图5-2所示:
图5-2系统注册界面
在登录流程中,用户在Vue前端填写必要信息(如账号、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户登录成功。这个过程实现了从信息输入到系统验证和响应的全过程。系统登录页面如图5-3所示:
图5-3系统登录页面
毕设课程:在毕设课程页面的输入栏中输入课程标题进行查询,可以查看到课程详细信息,并根据需要进行收藏或毕设选择等操作;毕设课程页面如图5-4所示:
图5-4毕设课程详细页面
5.1.2个人中心页面实现
个人中心:在个人中心页面可以对个人中心、修改密码、毕设选课、毕设论文、论文成绩、实习报告、实习成绩、我的收藏等进行详细操作;如图5-5所示:
图5-5个人中心界面
5.2后台功能实现
5.2.1管理员功能实现
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。登录页面如图5-6所示。
图5-6管理员登录界面
管理员进入主页面,主要功能包括对学生管理、教师管理、课程类型管理、学分类型管理、毕设课程管理、活动实践管理、实习信息管理、毕设选课管理、毕设论文管理、论文成绩管理、实习报告管理、实习成绩管理、系统管理、用户信息等进行操作。管理员主页面如图5-7示:
图5-7管理员主界面
学生管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写学生表单。这些学生表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除学生信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便学生管理功能可以看到最新的信息或相应的操作反馈。如图5-8所示:
图5-8学生管理界面
实习信息管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写实习信息表单。这些实习信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除实习信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便实习信息管理功能可以看到最新的信息或相应的操作反馈。如图5-9所示:
图5-9实习信息管理界面
毕设课程管理功能在视图层(view层)进行交互,比如点击“查询或删除”按钮或填写毕设课程表单。这些毕设课程表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除毕设课程,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便毕设课管理程功能可以看到最新的信息或相应的操作反馈。如图5-10所示:
图5-10毕设课程管理界面
论文成绩管理功能在视图层(view层)进行交互,比如点击“查询或删除”按钮或填写论文成绩信息表单。这些论文成绩信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除论文成绩信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便论文成绩信息管理功能可以看到最新的信息或相应的操作反馈。如图5-11所示:
图5-11论文成绩管理界面
5.2.2教师功能实现
教师进入主页面,主要功能包括对课程类型管理、毕设课程管理、毕设选课管理、毕设论文管理、论文成绩管理、用户信息等进行操作。教师主页面如图5-12示:
图5-12教师主界面