# 在线评测系统
**注:该项目的数据库文件(oj.sql)已放入,请放心使用。**
## 一、项目概况
### 1.1 设计内容
一个在线评测系统,分用户和管理员两种身份。用户能够通过注册登录,参加比赛,最后实时得到比赛结果,并保存历史比赛结果;管理员除此之外还能录入题目增加题库内容。
### 1.2 开发工具
Eclipse,Java,MySQL,Redis,HTML,CSS,JS。
## 二、详细设计
### 2.1 网站结构
![](https://www.writebug.com/myres/static/uploads/2021/12/29/89a5b18ece6ae31be6be553163034177.writebug)
### 2.2 主要功能
以下功能均对应相应的 JSP,Servlet 层,DAO 层,Service 层
注册:在 JSP 页面中输入需要注册账号的昵称,用户名,密码,确认密码。在 Servlet 中先进行密码和确认密码的判定,判定成功后,连接数据库 MySQL,进行用户名的判定,再次判定成功后,将注册信息写入 MySQL 数据库中的 User 表单中,最后重定向到主页。
登录:在 JSP 页面输入用户名和密码。在 Servlet 中连接数据库 MySQL,获取数据库 User 表单中对应账号的密码,再与输入的密码进行判定,最后重定向到主页。
注销:将对应用户储存的 cookie 和 Redis 删除,重定向到登录界面。
信息修改:JSP 页面中输入昵称,用户名,手机号,学号。在 Servlet 中连接数据库 MySQL,将数据库 User 表单中对应的信息替换成输入的。最后再重定向到该页面,可发现信息已修改。
密码修改:在 JSP 页面中输入当前密码,新密码,确认密码。在 Servlet 中先进行新密码和确认密码的判定,判定成功后,连接数据库 MySQL,获取 User 表单中当前账号的密码,与输入的当前密码进行判定,判定成功后用新密码替换当前密码,重定向到登录界面,重新登录。
头像修改:在 Servlet 中获取头像数据,转化成,连接数据库,将其替换当前账号已经储存的
单点登录(顶号):以过滤器过滤登录,注册的 Servlet 和对应的 JSP,以 Redis 存储登录状态,再次登录删除之前与当前账号相同的 Redis 记录。
录入题目:在 JSP 页面中输入需要添加的题目,包括题目题目,内容等。
题目列表:在用户点击题库,列出所有的题目。
题目搜索:用户输入在题库中输入相应的题目,编号即可找出相应的题目
显示比赛列表:先通过 ContestListShowServlet 获得所有的比赛信息,将信息储存为 List 通过 request 传递到 Contests.jsp 页面。然后 JSP 页面通过 EL 表达式循环将比赛信息展示出来。
参加比赛:用户通过点击比赛名称进入比赛界面,然后通过 ContestShowServlet 获取本场比赛的所有信息,将信息传到 ContestShow.jsp 页面,然后用户就可以看到本场比赛包含的题目及其选项,题目列表有一串 01 二进制字符串表示,第 i 位如果为 1,表示本次比赛包含第 i 题,为 0 则没有。用户点击选项来参与答题,最后点击提交上交试卷,完成比赛。
比赛结束显示成绩:用户完成比赛后,系统通过 ContestResultServlet,自动获取用户选择的答案,构成一份由 ABCD 组成的用户答案字符串,再根据预设的答案(一段也由 ABCD 构成的标准答案字符串)进行比较,一位一位判断答案是否正确,来对用户进行打分,并将相关结果显示到 ResultShow.jsp 页面,最后将成绩记录到数据库中,为以后查看历史成绩做准备。
历史成绩查询: 在主页、比赛列表、比赛结果、题库等页面,点击菜单栏得“历史”项,就可以显示该用户历史成绩,具体包括编号、试卷编号、提交答案和考试成绩。
# 三、程序架构和使用说明
## 3.1 程序架构
![](https://www.writebug.com/myres/static/uploads/2021/12/29/1e2beb1038f1dc2a3a6da95511ca0e1a.writebug)
## 3.2 使用说明
文件结构:Dao 层,Service 层,Servlet 层。数据库操作在 Dao 层,Service 层为相关服务,Servlet 层获取从 JSP 得到的相关数据并重定向到其他 JSP 页面。
使用方式:本程序包含 MySQL 数据库文件,需先导入 oj.sql 到命名为 oj 的数据库中。再导入 OnlineJudge 项目到 eclipse 中。修改 com.oj.util 中 DbUtil 中登录数据库的账号密码(自己数据库的)。以 Run On Service 中选择 Tomcat 运行项目文件。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于JSP+MySQL实现在线评测系统【100012170】 (171个子文件)
UserDaoImpl.class 7KB
ProblemDaoImpl.class 4KB
ResultDaoImpl.class 4KB
ContestDaoImpl.class 4KB
UserServiceImpl.class 4KB
ContestResultServlet.class 3KB
LoginFilter.class 3KB
LoginServlet.class 3KB
RegisterServlet.class 3KB
UpdatePwdServlet.class 3KB
DataSourceUtil.class 3KB
ContestShowServlet.class 3KB
Problem.class 2KB
ProblemsShowServlet.class 2KB
User.class 2KB
JsonUtil.class 2KB
CookieUtil.class 2KB
UpdateInfoServlet.class 2KB
AddProblemServlet.class 2KB
ModifyAvatarServlet.class 2KB
History.class 2KB
ContestListShowServlet.class 2KB
Contest.class 2KB
DbUtil.class 1KB
LogoutServlet.class 1KB
DateUtil.class 1KB
Result.class 1KB
ResultServiceImpl.class 1KB
ProblemServiceImpl.class 918B
ContestServiceImpl.class 844B
StringUtil.class 621B
UserService.class 588B
RedisUtil.class 504B
UserDao.class 425B
ResultDao.class 211B
ResultService.class 173B
ProblemService.class 124B
ContestService.class 124B
ProblemDao.class 112B
ContestDao.class 112B
.classpath 6KB
org.eclipse.wst.common.component 477B
org.eclipse.wst.jsdt.ui.superType.container 49B
button.css 79KB
mysql-connector-java-8.0.11.jar 1.94MB
spring-context-4.1.0.RELEASE.jar 999KB
spring-core-4.1.0.RELEASE.jar 981KB
mysql-connector-java-5.1.20-bin.jar 784KB
spring-webmvc-4.1.0.RELEASE.jar 756KB
spring-beans-4.1.0.RELEASE.jar 685KB
spring-web-4.1.0.RELEASE.jar 681KB
quartz-2.2.1.jar 645KB
javassist-3.15.0-GA.jar 633KB
c3p0-0.9.1.2.jar 596KB
javassist-3.9.0.GA.jar 583KB
commons-collections-3.2.1.jar 562KB
commons-collections-3.1.jar 546KB
jedis-2.9.0.jar 541KB
mysql-connector-java-5.0.8-bin.jar 528KB
spring-test-4.1.0.RELEASE.jar 490KB
mysql-connector-java-3.1.12-bin.jar 436KB
antlr-2.7.7.jar 435KB
spring-jdbc-4.1.0.RELEASE.jar 418KB
fastjson-1.2.7.jar 407KB
jstl-1.2.jar 405KB
commons-lang3-3.3.jar 403KB
standard.jar 384KB
log4j-1.2.15.jar 383KB
spring-orm-4.1.0.RELEASE.jar 364KB
spring-websocket-4.1.0.RELEASE.jar 353KB
spring-aop-4.1.0.RELEASE.jar 351KB
dom4j-1.6.1.jar 307KB
spring-messaging-4.1.0.RELEASE.jar 278KB
commons-lang-2.5.jar 273KB
spring-jms-4.1.0.RELEASE.jar 260KB
commons-codec-1.9.jar 258KB
spring-tx-4.1.0.RELEASE.jar 245KB
spring-expression-4.1.0.RELEASE.jar 244KB
tomcat-dbcp.jar 229KB
commons-beanutils-1.8.3.jar 227KB
commons-beanutils-1.8.0.jar 226KB
servlet-api.jar 193KB
spring-context-support-4.1.0.RELEASE.jar 173KB
commons-digester.jar 164KB
commons-dbcp-1.4.jar 157KB
commons-io-2.0.1.jar 156KB
json-lib-2.4-jdk15.jar 155KB
commons-dbcp.jar 119KB
jsp-api.jar 86KB
ezmorph-1.0.6.jar 84KB
commons-validator.jar 82KB
spring-oxm-4.1.0.RELEASE.jar 80KB
commons-dbutils-1.6.jar 76KB
commons-pool.jar 61KB
commons-logging-1.2.jar 60KB
commons-logging-1.1.1.jar 59KB
jboss-logging-3.1.0.GA.jar 59KB
commons-fileupload-1.2.1.jar 56KB
spring-aspects-4.1.0.RELEASE.jar 55KB
commons-dbutils-1.4.jar 48KB
共 171 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 2674
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- javaweb实训作业订单管理系统源码和数据库.zip
- java毕业设计-网上订餐系统源码+数据库.zip
- 基于双闭环PID控制的一阶倒立摆simscape建模matlab源码.zip
- 基于51单片机+lcd12864显示俄罗斯方块小游戏MCU软件源代码.zip
- 基于单片机的智能计算器设计MCU软件源代码.zip
- 基于Javaweb的药店管理系统源码+数据库.zip
- (自适应手机端)网络建站广告公司网站pbootcms模板 品牌策划设计类网站源码下载.zip
- (自适应手机端)手机软件APP下载类网站Pbootcms模板 游戏软件应用网站源码下载.zip
- 基于pytorch中文文本分类TextCNNTextRCNNDPCNN Transformer源码+数据集+详细说明
- (自适应手机端)生活百科资讯文章博客类网站pbootcms模板 绿色新闻博客网站源码下载.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功