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系统的电脑 ...
随机推荐
- CodeIgniter框架中尝试使用swoole
ci框架版本:3.1.7. swoole版本:1.7. php版本:5.6 相关文档: 以cli方式运行ci框架 swoole官方手册 创建一个TestSwoole和Hello控制器 ...
- Requires: libc.so.6(GLIBC_2.14)(64bit)
centos6 - CentOS 6 - libc.so.6(GLIBC_2.14)(64bit) is needed by - Server Faulthttps://serverfault.com ...
- MySQL 5.7 Reference Manual :: 4.5.4 mysqldump & mysql — Database Backup & Restore Program
MySQL :: MySQL 5.7 Reference Manual :: 4.5.4 mysqldump — A Database Backup Programhttps://dev.mysql. ...
- PHP中友好的处理方式
在使用PHP进行开发的时候,由于PHP是弱类型语言的特性,所以,偶尔会遇到一些意想不到的错误.规范我们的编程就变得尤为重要了.下面总结一下,我日常开发中的一些经验,可能有些地方不妥,还请多多斧正,指教 ...
- react双组件传值和传参
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [转帖]Linux的标准输入 标准输出和错误输出
Linux标准输入.输出和错误和文件重定向 专题 https://www.cnblogs.com/softidea/p/3965093.html 感觉自己对 这一块的理解一直不好 昨天同事给了一个 b ...
- 生存模型(Survival Model)介绍
https://www.cnblogs.com/BinbinChen/p/3416972.html 生存分析,维基上的解释是: 生存分析(Survival analysis)是指根据试验或调查得到的数 ...
- fastjson与各类型的转换
参考:https://www.cnblogs.com/ceshi2016/p/7381478.html http://www.cnblogs.com/goody9807/p/4244862.html ...
- static类型的变量
c语言中变量的储存类型有以下四种 auto 如果没有定义储存类型 默认就是这个类型 比如 int a = 10; 储存类型就是 auto:编译器会跟你定义的位置,以及用途,自动帮你决定使用那 ...
- ES 6 系列 - 变量声明
let 和 const let 声明 (一)基本用法 let 声明的变量只在块级作用域内有效,出了该块则报错,最常见且适合的地方在 for 循环中: var a = []; for (var i = ...