在线考试系统ssh(项目)功能齐全,代码简洁
1) 项目概要
本系统的作用是实现学生在线考试,老师(管理员)对学生成绩及科目题目的管理系统。学生可以对自己的信息进行查询也可以修改密码,在线考试;教师可以修改课程,修改题目,对考生信息进行删改和对试卷进行管理。
并且实现二维码在虚拟平台下的支付及支付成功后的跳转。
2) 设计内容
- 能够实现学生基本信息的录入、修改、删除等操作,其中学生信息包括姓名、性别、身份证号、专业、密码等。
2.能够实现考试和试题信息的录入、修改、删除等功能,其中考试信息包括试卷名称、添加日期;试题信息包括考试题目、所属试卷、题目类型、加入时间等。
3.学生的准考证号由系统自动分配。
3)功能分析
1.身份验证,用以用户登录,分为管理员用户(教师用户)和学生用户。
2.管理员用户可以录入、修改、添加、删除学生信息、试卷信息、试题信息。
3.管理员可以根据试题的部分字符匹配查找试题信息。
4.管理员可以通过准考证号或者姓名查询考生成绩和考生信息。
5.学生用户可选择考试科目、在线考试,且能反复考一门科目,但按考试先后顺序存储成绩。
6.有支付窗口,且支付成功后做出相应跳转反应
4)系统数据流程表
5)数据库设计
- 实体类型:管理员、学生、试卷、考试。
- 实体属性
数据结构 组成
管理员 管理员编号、姓名、用户名、密码
学生 学生编号、身份证号、姓名、性别、密码、专业
试卷 试卷编号、添加时间、试卷名称
考试关系 考试编号、考试时间、试卷编号、单选成绩(题目编号、试卷编号、加入时间、题目、四个选项、答案)、多选成绩(题目编号、试卷编号、加入时间、题目、四个选项、答案)、学生编号
数据库名:t_exam
数据存储名称:考试成绩表
简述:存放本考试系统所有学生的考试成绩
组成:本表序号+考试日期+多选题成绩+总成绩+单选题成绩+试卷编号+学生编号
关键字:试卷编号+学生编号+本表序号
表一
列名 数据类型 可否为空 说明
id int(11) NOT NULL 本表序号
examDate datetime DEFAULT NULL 考试日期
moreScore int(11) NOT NULL 多选题成绩
score int(11) NOT NULL 总成绩
singlescore int(11) NOT NULL 单选题成绩
paperId int(11) DEFAULT NULL 试卷编号
studentId Varchar(40) DEFAULT NULL 学生编号
数据库名:t_manager
数据存储名称:管理员用户信息表
简述:存放本考试系统所有管理员用户信息
组成:本表序号+管理员名称+管理员密码+管理员用户名
关键字:本表序号
表二
列名 数据类型 可否为空 说明
id int(11) NOT NULL 本表序号
name varchar(255) DEFAULT NULL 管理员名称
password varchar(255) DEFAULT NULL 管理员密码
userName varchar(255) DEFAULT NULL 管理员用户名
数据库名:t_paper
数据存储名称:试卷信息表
简述:存放本考试系统所有试卷信息
组成:本表序号+试卷加入时间+试卷名称
关键字:本表序号
表三
列名 数据类型 可否为空 说明
id int(11) NOT NULL 本表序号
joinDate Datetime DEFAULT NULL 试卷加入时间
paperName varchar(255) DEFAULT NULL 试卷名称
数据库名:t_question
数据存储名称:试题信息表
简述:存放本考试系统所有试题信息
组成:本表序号+答案+加入时间+选项A+选项B+选项C+选项D+题目+题目类型+试卷编号
关键字:本表序号+试卷编号
表四
列名 数据类型 可否为空 说明
id int(11) NOT NULL 本表序号
answer varchar(255) DEFAULT NULL 答案
joinTime datetime DEFAULT NULL 加入时间
optionA varchar(255) DEFAULT NULL 选项A
optionB varchar(255) DEFAULT NULL 选项B
optionC varchar(255) DEFAULT NULL 选项C
optionD varchar(255) DEFAULT NULL 选项D
subject varchar(255) DEFAULT NULL 题目
type varchar(255) DEFAULT NULL 题目类型
paperId int(11) DEFAULT NULL 试卷编号
数据库名:t_student
数据存储名称:学生信息表
简述:存放本考试系统所有学生信息
组成:学生编号+卡编号+学生姓名+密码+专业+性别
关键字:学生编号
表五
列名 数据类型 可否为空 说明
id varchar(40) NOT NULL 学生编号
cardNo varchar(50) DEFAULT NULL 卡编号
name varchar(20) DEFAULT NULL 学生姓名
password varchar(20) DEFAULT NULL 密码
prefession varchar(40) DEFAULT NULL 专业
sex varchar(5) DEFAULT NULL 性别
6)二维码支付及项目整合
配置环境:支付宝开放平台的沙箱环境中
沙箱配置步骤:
1.进入沙箱环境获取APPID,支付宝网关等信息
(不同账号APPID不同)
2.生成商户公钥及私钥(下载秘钥生成器即支付宝开放平台开发助手)
点击生成秘钥后便会在相应目录下生成两个文件,然后点击上传公钥
在沙箱环境下进行加签内容配置
3 .下载沙箱环境的支付宝demo并在eclipse上运行,运行前修改这些信息成自己的信息
- 修改这一条信息为支付成功后想跳转的页面
(这里跳转到主页面了)
5. 在想跳转到支付的页面加入指向index.asp的超链接
- 手机下载支付宝沙箱版登录沙箱环境的买家账号
4.实习成果(重点阐述部分)(不少于4页)
理论和实践成果:
登录方式分为管理员登录和学生登录
- 管理员登录及各种操作
学生信息管理
添加考生信息
学生成绩查询
按照姓名部分匹配查询
试卷查询
添加试卷
试题信息管理
- 学生登录及各种操作
在线考试
成绩查询
修改密码
- 在学生成绩查询界面加入支付宝沙箱支付
点击打赏作者后进入支付宝体验入口页
这里手机事先下载好支付宝沙箱测试版登录给定的买家账号后扫码
支付成功后跳转的页面
5.总结(不超过2页)
在实习中遇到了哪些问题,如何解决的(查找书籍、请教团队成员、上网搜索资料等);通过实习有哪些收获、感悟等。
1.在项目实现方面,不仅要做到对代码熟悉,对数据项,数据实体熟悉,还要清晰的建好目录,防止不知道文件位置的事情发生。
2.mysql在运行前要检查是否开启,还有连接数据库文件hibernate.cfg.xml与本地mysql的用户名和密码是否对应
(这里我的用户名为root密码为d27414723)
3.在Tomcat服务器配置中也要注意选择的RuntimeEnvironment与所装的Tomcat版本号相同
4.可以借助Navicat作为mysql的工具
5.项目在接入支付宝沙箱时,要注意网关要改为沙箱环境特定网关:https://openapi.alipaydev.com/gateway.do,否则跳转时会报无效的APPID这种错误。还有在整合两个项目的时候要记得吧lib中的jar包全部复制到最终的lib里
6.当eclipse版本和mysql版本不匹配时,项目也不能正常运行。
几个月的时间转瞬即逝,虽然困难重重,但是依旧按规定完成了项目要求。这离不开其他同学和老师的帮助,以及永不放弃查阅网络资料,排除困难的决心。