JavaWeb项目:在线评测系统
此项目为本人的Java大作业。
项目文件和相关资源已上传到本人的GitHub
一、项目概况
1.1设计内容
一个在线评测系统,分用户和管理员两种身份。用户能够通过注册登录,参加比赛,最后实时得到比赛结果,并保存历史比赛结果;管理员除此之外还能录入题目增加题库内容。
1.2开发工具
Eclipse,Java,MySQL,Redis,Html,CSS,JS。
二、详细设计
2.1网站结构

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记录。
三、程序架构和使用说明
3.1程序架构

3.2使用说明
文件结构:Dao层,Service层,Servlet层。数据库操作在Dao层,Service层为相关服务,Servlet层获取从JSP得到的相关数据并重定向到其他jsp页面。
使用方式:本程序包含MySQL数据库文件,需先导入oj.sql到命名为oj的数据库中。再导入OnlineJudge项目到eclipse中。修改com.oj.util中DbUtil中登录数据库的账号密码(自己数据库的)。以Run On Service中选择tomcat运行项目文件。
JavaWeb项目:在线评测系统的更多相关文章
- 开源的在线评测系统——Vakuum
项目地址 http://code.google.com/p/vakuum-oj/ https://github.com/BYVoid/vakuum 简介 Vakuum是一个基于Linux+PHP的在线 ...
- CCF CSP认证考试在线评测系统
关于 CCF CSP 认证考试在线评测系统 CCF CSP 认证考试简介 CCF 是中国计算机学会的简称.CCF 计算机软件能力认证(简称 CCF CSP 认证考试)是 CCF 于 2014 年推出, ...
- 解决学校在线评测系统不支持C++11的问题
如图,我们老师搞的这个评测系统它不支持C++11.但分析错误信息可知GCC本身版本是支持C++11的,只不过没开开.平时的时候我们可以对"g++"后使用"-std=c++ ...
- JavaWeb项目——博客系统
系统介绍 博客是互联网平台上的个人信息交流中心.通常博客就是用来发表文章,所有的文章都是按照年份和日期排列,有些类似斑竹的日记.看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本.零维护地创建自己 ...
- 基于asp.net+MINIUI的项目----在线学习系统
1 数据库列的自动计算: 描述:一张选课表,其中有学习的开始时间和结束时间,一个列用来计算学习的总时间(小时) 解决:选择该列 属性:计算列规范:公式:(datediff(hour,[StartTim ...
- 南洋理工大学 ACM 在线评测系统 矩形嵌套
矩形嵌套 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a& ...
- CCSUOJ评测系统
队名: BUGG 团队信息与分工: 开发: 周斌 B20150304221 舒 溢 B20150304209 测试: 许嘉荣 B20150304213 唐 浩 B20150304316 Product ...
- JavaWeb项目开发案例精粹-第3章在线考试系统-007View层
0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...
- Linux服务器部署javaweb项目,从环境配置,到最终系统运行
部署准备:javaJDK1.7,Tomcat7.0,MySQL5.8,可运行的javaWeb项目,linux环境的服务器(可以是安装在windows电脑上的linux虚拟机,安装了linux系统的电脑 ...
随机推荐
- 自己实现数据结构系列四---Queue
一.代码部分 1.定义接口: public interface Queue<E> { void enqueue(E e); E dequeue(); E getFront(); int g ...
- jenkins 迁移后 提示 反向代理设置有误
jenkins报:反向代理设置有误-布布扣-bubuko.comhttp://www.bubuko.com/infodetail-2038758.html [Linux][Jenkins]系统配置报反 ...
- [转帖]NotePad++编辑Linux中的文件
NotePad++编辑Linux中的文件 https://blog.csdn.net/chengqiuming/article/details/78882692 原作者 未经允许不允许转帖 加密自己参 ...
- API知识点总结
一.开发api接口开放给其他人调用的api接口(短信接口,支付宝api) 二.api安全弱点数据窃取(解决加密),数据篡改(解决MD5),数据泄露(爬虫技术)(解决令牌)1.加密(HTTPS传输-收费 ...
- 转:win7下git凭据导致无法clone代码
win7下存在一个凭据管理的情况,如果旧凭据没有删除,用新账户是无法clone代码的. https://blog.csdn.net/qq_34665539/article/details/804082 ...
- Spring Boot(1)——开发你的第一款Spring Boot应用(Edition1)
Spring Boot(1)——开发你的第一款Spring Boot应用(Edition1) 准备工作: java:java 8 或者 java 9: Spring框架:5.0.8.RELEASE或以 ...
- 详解 RestTemplate 操作
转载自:https://blog.csdn.net/itguangit/article/details/78825505 作为开发人员,我们经常关注于构建伟大的软件来解决业务问题.数据只是软件完成工作 ...
- RBAC模型
1.RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角 ...
- Windows开启WMI时一些总结
通过远程的方式连接WMI获取计算机信息时,可能会出现远程主机拒绝访问,这时就要通过下面的方式来开启当前计算机的WMI服务,下面以Win7和Win10为例来进行相关的说明,通过一步步排查去连接远程服务. ...
- SQL Server2012中时间字段为DateTime和VarChar的区别
在设计数据库的时候varchar类型是一个非常常见的类型,很多字段都可以使用这个类型,所以有时候在设计数据库的时候就很容易习惯性设计该类型,比如说时间类型,我们既可以DateTime类型,又可以使用v ...