# 教务管理系统
# 一、总体介绍
本次项目主要以本学期所学内容为基础,采用 servlet+jsp+jdbc 的技术以及 mvc 模式进行项目开发,本次开发的内容主要以实现 CRUD 核心功能为主的教务管理系统,分为学生端和教师端,前端采用 jQuery 进行数据传输以及处理,bootstap 写界面。
# 二、技术架构
基于 MVC 的分层思想及采用 jsp+servelt 技术的 B/S 结构的应用系统,系统主要开发语言为 Java,JSP。数据库要求使用 MySQL8.0,应用服务器选用 Tomcat 服务器
- 运行环境:tomcat9+mysql5+maven3.8+jdk8
- 前端技术:jQuery 用以数据处理以及前端验证以及生成验证码等等
- Bootstrap 前端界面处理
- 后端技术:servelt+jsp maven 进行 jar 包和第三方库管理
- 采用 jspsmart 进行文件的操作处理
- 数据库:mysql5
# 三、功能介绍
- 系统能够提供用户有好的界面
- 系统具有良好的允许效率
- 系统具有良好的扩充性,灵活性
- 系统管理操作简单易懂
## 3.1 总体结构
![](https://www.writebug.com/myres/static/uploads/2021/12/26/c6b52142bcb50f34d2b7a06c154d16e1.writebug)
## 3.2 模块详情
### 学生模块:
注册:
- 用户点击注册,进行注册;
- 用户输入注册信息;
- 校验数据:如果用户名重复或者两次密码校验不合格或者密码规格不符合,则提示错误信息;
- 若信息无错误,提示注册成功,跳转到登录页。
登录:
- 用户进入系统未进行登录则自行跳转登录页面;
- 点击忘记密码可进行密码找回;
- 提交信息进行校验,查看用户名密码是否为空以及是否符合格式,随后在后台进行校验,合格则进行登录跳转到用户界面;
- 若登录信息不正确,则提示登录错误信息。
查看成绩:
- 点击查看成绩,打印成绩列表;
- 支持到处成绩单为 pdf 格式。
导出成绩:
- 点击到处按钮;
- 系统自动处理并到处成 pdf。
个人信息管理:
- 选择上传头像
- 修改个人信息:按需填写个人信息,随后进行保存则覆盖修改以往的个人信息。
退出登录:
- 点击退出登录,自动退出到首页并删除本地和服务器缓存。
### 教师模块:
注册:
- 1 用户点击注册,进行注册;
- 2 用户输入注册信息;
- 3 校验数据:如果用户名重复或者两次密码校验不合格或者密码规格不符合,则提示错误信息;
- 4 若信息无错误,提示注册成功,跳转到登录页。
登录:
- 1 用户进入系统未进行登录则自行跳转登录页面;
- 2 点击忘记密码可进行密码找回;
- 3 提交信息进行校验,查看用户名密码是否为空以及是否符合格式,随后在后台进行校验,合格则进行登录跳转到用户界面;
- 4 若登录信息不正确,则提示登录错误信息。
个人信息管理:
1 选择上传头像
2 修改个人信息:按需填写个人信息,随后进行保存则覆盖修改以往的个人信息。
学生管理:
- 点击添加学生,填写学生信息进行添加;
- 修改学生信息,点击修改,按需填写要修改的学生信息,进行保存覆盖修改;
- 点击删除学生数据,提示是否删除,确定则删除,取消则不删除;
- 查看成绩,点击查看学生成绩,单独列出学生成绩列表;
成绩管理:
- 点击成绩管理,列出所有学生成绩;
- 点击修改,勾选需要修改的学生,按需填写修改信息,保存覆盖修改学生信息。
退出登录:
1 点击退出登录,自动退出到首页并删除本地和服务器缓存。
# 四、页面设计
静态 JSP 页面和 jQuery 和 bootstrap
# 五、数据库设计
### 权限对照表:
| 表名: role | 表名: role | 表名: role | 表名: role | 表名: role | 表名: role |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| 名称 | 类型 | 长度 | 允许空值 | 是否主键 | 注释 |
| uid | 整型 | 11 | 否 | 是 | 权限等级 |
| utype | 字符 | 255 | 否 | 否 | 用户等级名称 |
### 分数表:
| 表名: score | 表名: score | 表名: score | 表名: score | 表名: score | 表名: score |
| -------------- | -------------- | -------------- | -------------- | -------------- | -------------- |
| 名称 | 类型 | 长度 | 允许空值 | 是否主键 | 注释 |
| id | 整型 | 200 | 否 | 是 | 学号 |
| dat | 字符 | 255 | 否 | 否 | 课程 1 分数 |
| Android | 字符 | 255 | 否 | 否 | 课程 2 分数 |
| JSP | 字符 | 255 | 是 | 否 | 课程 3 分数 |
### 学生表:
| 表名: student | 表名: student | 表名: student | 表名: student | 表名: student | 表名: student |
| ---------------- | ---------------- | ---------------- | ---------------- | ---------------- | ---------------- |
| 名称 | 类型 | 长度 | 允许空值 | 是否主键 | 注释 |
| id | 整型 | 59 | 否 | 是 | 学号 |
| password | 字符 | 255 | 否 | 否 | 登陆密码 |
| Name | 字符 | 255 | 否 | 否 | 学生姓名 |
| Sex | 字符 | 255 | 是 | 否 | 性别 |
| School_date | 字符 | 255 | 是 | 否 | 入学时间 |
| Major | 字符 | 255 | 是 | 否 | 专业 |
| email | 字符 | 255 | 是 | 否 | 邮箱 |
### 教师表:
| 表名: student | 表名: student | 表名: student | 表名: student | 表名: student | 表名: student |
| ---------------- | ---------------- | ---------------- | ---------------- | ---------------- | ---------------- |
| 名称 | 类型 | 长度 | 允许空值 | 是否主键 | 注释 |
| id | 整型 | 59 | 否 | 是 | 教师工号 |
| password | 字符 | 255 | 否 | 否 | 登陆密码 |
| Name | 字符 | 255 | 否 | 否 | 教师姓名 |
| Sex | 字符 | 255 | 是 | 否 | 性别 |
| email | 字符 | 255 | 是 | 否 | 邮箱 |