前言
本文将介绍一个基于 MySQL+Tomcat+Servlet+JSP 的简单作业管理系统
Git 仓库地址:HomeworkManagement
开源许可证采用 Apache-2.0
功能介绍
这个项目是为学生和教师设计的简易的作业的提交和管理平台,暂时不用考虑权限问题
对于教师,有以下功能:
- 添加学生
- 查看学生
- 添加作业
- 查看作业
- 查看已提交的作业
对于学生,有以下功能:
- 查看作业
- 提交作业
系统演示
启动后首先进入首页,这里的首页是 index.jsp
,你需要选择自己的角色
我是教师
选择 我是教师
将进入教师主页,系统会列出所有可以进行的操作
添加作业
选择 添加作业
将弹出新窗口进入作业的添加页面,教师可以在这里发布新的作业
其中所有选项必填,提交后会返回到服务器和数据库,并返回结果
添加学生
选择 添加学生
将弹出新窗口进入学生的添加页面,教师可以在这里添加新的学生
如果学号已经存在,提交后将返回错误提示
查看学生列表
选择 查看学生列表
将弹出新窗口进入学生的展示页面,这里展示了所有的学生,点击下方可以添加学生
查看作业列表
选择 查看作业列表
将弹出新窗口进入作业的展示页面,这里展示了所有发布的作业,点击下方可以添加作业
点击作业右边的查看
可以查看对应作业所有的提交情况
我是学生
从主页进入学生主页
查看作业列表
这里可以查看所有发布的作业,点击相应的按钮即可提交
点击提交后会查询数据库判断输入的合法性,并返回结果
系统设计与源码分析
系统架构与设计
数据库
数据库一共有三张表,具体内容可以参考源码中的 hwm.sql
文件
实体类
所有的实体类位于 package com.hwm.model
,每个实体类对应数据库的一张表,并添加了 get
和 set
方法,这里不再赘述
数据库连接件
所有的实体类位于 package com.hwm.jdbc
这里为项目添加了 Maven
用于管理依赖,mysql-connector
也在其中,使用源码的时候需要在 Project Structure -> Artifacts -> Output Layout -> WEV-INF
中添加 lib
目录并添加依赖
其中,JdbcConnection
维护了一个单例类,用于保存与数据库的连接
1 | package com.hwm.jdbc; |
HomeworkJdbc
, StudentJdbc
, SubmitHomeworkJdbc
分别对应了三张表在数据库中的操作方法
Servlet
Servlet 共分为两个部分,分别是 package com.hwm.servlet.student
和 package com.hwm.servlet.teacher
,分别用于处理教师和学生的请求
所有的类都继承自 HttpServlet
,并采用 @WebServlet
注解进行映射
具体的跳转实现请参考上文,源码就不再赘述
JSP
所有的 前端页面均采用 JSP ,位于 web
目录下,页面跳转请参考上文
index.jsp
为系统主页,return.jsp
为处理结果的返回页面
teacher
目录包含教师的主页与所有相关页面,student
目录包含学生的主页与所有相关页面