基于 JavaWeb 的线上教学系统开发
实训报告
姓
班
学
1004181124, 1010183115, 1004181121
学 院:信息工程学院
名:级: 10041811
号:1002181118, 1011182104, 1005183121
专 业:计算机科学与技术
年 7 月 21 2022 日
一 题目与要求
1.题目:基于 JavaWeb 的线上教学系统开发的实训报告
2.要求:丰富 JavaWeb 开发知识,培养小组团队协作能力
二 项目分析与设计
1. 数据库及实体类:
1) User 表(用户表,包括老师学生管理员):
记录用户的基本信息,每一个用户为一条记录,user id 为用户唯一标识,便于数据库操作,
user type 区分学生,老师,管理员身份。
User_id(str
ing)
User_name(st
ring)
User_type
(int)
User_class
(int)
Student
_id
User_email
(string)
User_numb
er (string)
Password(st
ring)
User_photo
(file)
系 统 分 配
的 id
名字 用户类型 学生需要
填写班级
学号 电 子 邮 件
作 为 联 系
方式,还可
以 加 电 话
之类的
登录要用的
用户名
密码 头像
2) Lesson_selected 表(课程选择表):
介绍某 学生的 选 课 与某教师的 教 课 情况, 每一个学 生 选 的 每 一 门 课 为 一 条 记 录 ,
Finish_account 为以后实现查看课程学习进度功能做准备。
User_name(string)(查找学生的关键字可
以不是姓名)
Lesson_name(string) Finish_account(int)
学生姓名(查找学生的关键字可以不是姓
名)
课程名字(查找课程的关键字,可以不是
名字)
完成视频的数量
3) Lesson(课程详情表):
每一门课一行,记录课程的基本信息,每一门课程为一条记录,主要是在课程和老师之间建
立联系
Lesso
n_id(i
nt)
Lesson_
name(str
ing)
Teacher_
name(str
ing)
Students
_number
(int)
Videos_
number
(int)
Lesson_
photo(f
ile)
Descrip
tion(stri
ng)
Lesson_cre
ate_time(d
ate)
flag(
Strin
g)
系统
分配
课 程 名
字
授 课 老
师名字
学 生 数
量
网课视
频数量
课 程 封
面图片
课 程 描
述
创建时间 代表
课程
的课
程 id
状态
4) Learning_materials(上传学习资料表):
记录老师上传的学习资料的基本信息,每一个学习资料为一条记录,用于于添加删除学习资
料等功能。
Lm_id
(int)
Lm_name(
string)
Upload_user_na
me(string)
Lesson_
name
(string)
Lm_file
(file)
Lm_descriptio
n(string)
Lm_create_ti
me(date)
系统
分配
的 id
学 习 资 料
名字
上传者名字 所属课
程名字
文件 描述 创建时间
5) Video(具体网课表):
记录网课的基本信息,每一个视频为一条记录,用于学生选课,老师上传课程等功能。
Video_
id(int)
Video_nam
e(string)
Upload_user_n
ame(string)
Lesson
_name
(string)
Video_fi
le(file)
Video_descrip
tion(string)
Video_create_
time(date)
系统分
配的 id
视频名字 上传者名字 所属课
程名字
文件 描述 创建时间
6) Homework_teacher(老师布置的作业):
记录老师布置的作业的基本信息,每一个老师布置的一次作业为一条记录,用于老师布置作
业,学生查看作业等功能。
Homew
ork_id(i
nt)
Homework
_name(strin
g)
Lesson_n
ame(strin
g)
Teacher_n
ame(strin
g)
Homewo
rk_file(fil
e)
Homework_d
escription(stri
ng)
Homework_cr
eate_time(dat
e)
分配的
id
作业名字 所属课程 布 置作 业
的 老 师 名
字
文件 描述 创建时间
7) Homework_student(学生提交的作业):
记录学生提交作业的基本信息,每一个学生提交的一次作业为一条记录,用于学生提交作业
和老师批改作业。
Stude_na
me(string
)
Homew
ork_id(in
t)
Homework_
name(string
)
Teacher_n
ame(string
)
Submit
_file(file
)
Homework_s
core(double)
Homework_co
mment(string)
学生名字 作业 id 作业名字 批阅老师
名字
文件 得分 评语
8) Test_total(考试表):
记录考试的基本信息,一次考试为一条信息,用于老师发布考试,学生参加考试等功能。
Test_i
d(int)
Test_name
(string)
Lesson_nam
e(string)
Teacher_nam
e(string)
Test_passwor
d(string)
Begin_tim
e(date)
End_time
(date)
分配
的 id
考试的名
字
所属课程 发布老师名
字
进 入 考 试 输
入的密码
开始时间 结束时间
9) Test(具体试卷题目表):
记录试题的基本信息,每一次考试的每一道题为一条记录,用于查看和修改试题等功能。
problem
_id(int)
Test_i
d(int)
Problem_nu
mber(int)
Problem_t
ype(int)
Problem_p
hoto(file)
Problem_ans
wer(string)
Problem_scor
e(double)
分配的
id
考试
的 id
题目的序号 题 目 的 类
别:填空,
选择,大题
老师上传题
目的照片
题目的答案,
选 择 填 空 可
以自动批阅,
这 个 老 师可
以 选 择 不 上
传
题目的分值
10) Test_paper(学生答题表):
记录学生作答的基本信息,每位学生每道题的作答为一条记录,用于学生作答和教师批阅等
功能。
Test
_id(i
nt)
Problem
_number
(int)
Student_
name(stri
ng)
Answe
r_type(
int)
String_a
nser(stri
ng)
Pic_an
wser(fi
le)
Teacher_
name(stri
ng)
Test_sc
ore(dou
ble)
Test_com
ment(stri
ng)
考试
id
题目序
号
学生的名
字
答案的
种类,
学生需
要选择
是文本
类型答
案还是
上传的
图片
选择文
本类型
答案后
学生的
答案放
在这里
选择
图片
类型
答案
后学
生的
答案
放在
这里
批阅老师
名字
得分 评语
2. 登录及注册:
1. 注册界面:
注册页面主要用于创建并添加用户, 需要满足用户表中的必填项
即用户名, 用户类型, 用户学工号, 邮箱, 密码
用户 ID 为 Auto, 不需要填写
用户 Class 和 用户头像 Photo 非必要项, 可在后续由用户自行添加
以上确定了注册界面中应有的 input 项:
这些 input 必须确保用户全部输入, 所以需要加上非空判断
邮箱作为区分用户的关键, 需要唯一, 所以需要检验邮箱是否已注册
密码作为用户登录的唯一凭证, 需要保证一定的安全性, 所以需要限制最小位数
如果用户已注册, 则需要有方便跳转到登录界面的超链接
2. 登录界面:
登录页面由用户进行登录,并且可实现自动判断用户身份(学生、教师或管理员),登录成
功的同时会将用户信息存域。
,从而跳转到不同的主页
已注册的用户仅需要邮箱即可区分, 密码作为用户的凭证
所输入邮箱要非空、已注册且符合邮箱格式
所输入密码要非空且大于 8 位
未满足需求, 如果用户遗忘密码, 能通过登录界面方便的跳转, 所以需要有链接到找回
密码的超链接
以上确定登录界面: