springmvc实战在线考试系统
=
程序有问题联系[程序帮](http://ll032.cn/HZ6vHa):QQ1022287044
项目介绍
----
> springmvc实战在线考试系统,学生自主注册账号,选择自己所在班级,进行在线模拟考试。 项目主要分为用户管理,资源管理,考试管理,试卷管理,作业管理,成绩管理等几个大的模块,针对每个模块划分管理员、教室、学生三种角色,给予每个不同角色相应的页面,操作逻辑以及权限。
项目适用人群
----
正在做毕设的学生,或者需要项目实战练习的Java学习者
技术选型:
-----
* 前端
* Html/Css/JavaScript
* Bootstrap
* jQuery
* UploadFive
* 后端
* Spring/SpringMVC/Hibernate
* Spring Security
* slf4j/log4j
* Gson
* POI
* Druid
* 数据库
* MySQL
项目访问地址
---
```
http://localhost:8090
管理员帐号admin, 密码admin
```
项目结构
-----
![项目结构](/src/image/项目结构.png)
项目截图
----
- 注册
![注册](/src/image/注册.png)
- 管理员-公告管理
![管理员-公告管理](/src/image/管理员-公告管理.png)
- 管理员-教师管理
![管理员-教师管理](/src/image/管理员-教师管理.png)
- 教师-试卷管理
![教师-试卷管理](/src/image/教师-试卷管理.png)
- 教师-题库管理
![教师-题库管理](/src/image/教师-题库管理.png)
- 教师-作业管理
![教师-作业管理](/src/image/教师-作业管理.png)
- 学生-考试
![学生-考试](/src/image/学生-考试.png)
- 学生-考试结果
![学生-考试结果](/src/image/学生-考试结果.png)
- 学生-试题讨论
![学生-试题讨论](/src/image/学生-试题讨论.png)
- 学生-作业下载
![学生-作业下载](/src/image/学生-作业下载.png)
数据库配置:
----
```
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/exam?useSSL=false&characterEncoding=UTF-8
db.username=root
db.password=root123
```
具体实现:
-----
1.老师角色添加试卷
```diff
//前端试卷创建
<div class="panel-body">
<form:form action="${ctx}/exampaper/save" method="post" cssClass="form-horizontal"
enctype="multipart/form-data" modelAttribute="entity">
<form:hidden path="id" />
<div class="form-group">
<label for="name" class="col-sm-2 control-label"> 试卷名 </label>
<div class="col-sm-4">
<form:input cssClass="form-control" path="name" autocomplete="off"/>
</div>
</div>
<div class="form-group">
<label for="description" class="col-sm-2 control-label">描述</label>
<div class="col-sm-4">
<form:textarea cssClass="form-control" path="description" />
</div>
</div>
<div class="form-group">
<label for="content" class="col-md-2 control-label">题目文件</label>
<div class="col-md-5">
<input name="file" type="file" accept="application/vnd.ms-excel,
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
</div>
</div>
<div class="col-md-8 text-center">
<button class="btn btn-primary" type="submit">提交</button>
    
<a class="btn btn-warning" href="${ctx}/exampaper/list">返回</a>
</div>
</form:form>
</div>
//后端处理
public String save( @ModelAttribute("entity") ExamPaper examPaper, @RequestParam("file") MultipartFile file) { CallBackMessage msg;
try {
InputStream inputStream = file.getInputStream();
List<Question> questions = ExcelToQuestionUtils.readQuestions(inputStream);
inputStream.close();
examPaper.setQuestions(questions);
examPaper.setClassId(Integer.valueOf(CurrentUtils.getCurrentUser().getClassId()));
return baseSave(examPaper);
} catch (IOException e) {
e.printStackTrace();
msg = CallBackMessage.createDangerMsg("服务器异常,请重试!");
} catch (EncryptedDocumentException e) {
e.printStackTrace();
msg = CallBackMessage.createDangerMsg("题目文档已被加密,无法识别!");
} catch (InvalidFormatException e) {
e.printStackTrace();
msg = CallBackMessage.createDangerMsg("题目文档格式有误!");
} catch (IllegalArgumentException e) {
e.printStackTrace();
msg = CallBackMessage.createDangerMsg(e.getMessage());
}
msg.addToCurrentSession();
return redirect(LIST_PATH);
}
```
2. 创建考试,与试卷绑定
```diff
//前端JSP代码
<div class="col-xs-10">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">
<span class="glyphicon glyphicon-align-justify"></span> 考试管理
</h3>
</div>
<div class="panel-body">
<form:form action="${ctx}/exam/save" method="post"
cssClass="form-horizontal" modelAttribute="entity">
<form:hidden path="id" />
<div class="form-group">
<label for="name" class="col-sm-2 control-label">考试名称</label>
<div class="col-sm-4">
<form:input cssClass="form-control" path="name" autocomplete="off" />
</div>
</div>
<div class="form-group">
<label for="description" class="col-sm-2 control-label">描述</label>
<div class="col-sm-4">
<form:textarea cssClass="form-control" path="description" />
</div>
</div>
<div class="form-group">
<label for="description" class="col-sm-2 control-label">截止提交日期</label>
<div class="col-sm-4">
<div class='input-group date' id='datetimepicker2'>
<form:input cssClass="form-control" path="endTime" autocomplete="off"/>
<span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span>
</div>
</div>
</div>
<div class="form-group">
<label for="description" class="col-sm-2 control-label">考试时间(分钟)</label>
<div class="col-sm-4">
<form:input cssClass="form-control" path="time" type="number" min="0" autocomplete="off" />
</div>
</div>
<div class="form-group">
<label for="description" class="col-sm-2 control-label">考试试卷</label>
<div class="col-sm-4">
<form:select path="exampaperId" cssClass="form-control"
items="${exampapers}" itemLabel="name" itemValue="id" />
</div>
</div>
<div class="col-md-8 text-center">
<button class="btn btn-primary" type="submit">提交</button>
    
<a class="btn btn-warning" href="${ctx}/exam/list">返回</a>
</div>
</form:form>
</div>
</div>
</div>
//后端入库处理
public String save( @RequestParam("exampaperId") Long exampaperId,@ModelAttribute(ENTITY_ATTRIBUTE_NAME) Exam entity) {
ExamPaper examPaper = exampaperService.findByID(exampaperId);
examPaper.setClassId(Integer.valueOf(CurrentUtils.getCurrentUser().getClassId()));
entity.setExampaper(examPaper);
entity.setClassId(Integer.valueOf(CurrentUtils.getCurrentUser().getClassId()));
return baseSave(entity);
}
```
3. 试卷题目
```
<div class="panel-body">
<form:form action="${ctx}/question/save" method="post"
cssClass="form-horizontal" modelAttribute="entity">
<form:hidden path="id"/>
<div class="form-group">
<label for="type" class="col-md-2 control-label">题目类型</label>
<div class="col-md-5">
<form:select cssClass="form-control" path="type" disabled="true">
<form:option
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
springmvc实战在线考试系统,学生自主注册账号,选择自己所在班级,进行在线模拟考试。 项目主要分为用户管理,资源管理,考试管理,试卷管理,作业管理,成绩管理等几个大的模块,针对每个模块划分管理员、教室、学生三种角色,给予每个不同角色相应的页面,操作逻辑以及权限。
资源推荐
资源详情
资源评论
收起资源包目录
在线考试管理系统(java源代码+数据库) (256个子文件)
.rebel.xml.bak 1015B
.classpath 1KB
org.eclipse.wst.common.component 747B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.min.css 118KB
bootstrap-theme.min.css 23KB
uploadifive.css 2KB
my-css.css 447B
学习资料.doc 9KB
glyphicons-halflings-regular.eot 20KB
.gitignore 39B
favicon.ico 4KB
exam.iml 8KB
CaptchaUtils.java 9KB
ExamController.java 7KB
AssignmentController.java 6KB
StudentAssignmentController.java 5KB
BaseControllerImpl.java 5KB
ResourceController.java 5KB
ExamPaperController.java 5KB
SysUserController.java 5KB
ExcelToQuestionUtils.java 5KB
ExamResultController.java 4KB
SysUser.java 3KB
Resource.java 2KB
QuestionController.java 2KB
ChooseLogService.java 2KB
BaseServiceImpl.java 2KB
Assignment.java 2KB
CallBackMessage.java 2KB
CaptchaController.java 2KB
Exam.java 2KB
NoticeController.java 2KB
StudentAssignment.java 2KB
SysUserService.java 2KB
MyFileUtils.java 2KB
Question.java 2KB
QuestionFormHelper.java 2KB
Notice.java 2KB
SysModifyLog.java 2KB
ResourceCommentController.java 2KB
QuestionCommentController.java 2KB
ExamResult.java 2KB
MyPhysicalNamingStrategy.java 2KB
SysAuthorityService.java 2KB
CurrentUtils.java 2KB
ChooseFormHelper.java 2KB
ExamResultService.java 2KB
ChooseLog.java 1KB
BuyLogService.java 1KB
CaptchaUsernamePasswordAuthenticationFilter.java 1KB
ExamPaper.java 1KB
QuestionService.java 1KB
BaseController.java 1KB
MyImplicitNamingStrategy.java 1KB
ResourceCommentService.java 1KB
QuestionCommentService.java 1KB
StudentAssignmentService.java 1KB
IndexController.java 1KB
BaseEntity.java 1KB
AssignmentService.java 1KB
BaseService.java 1024B
ResourceService.java 1016B
ExamResultDAO.java 983B
UserDetailsServiceImpl.java 977B
Choice.java 927B
SysAuthority.java 904B
NoticeService.java 898B
BaseEntityImpl.java 876B
BuyLog.java 844B
ExamPaperService.java 766B
ClassGradeService.java 752B
BaseComment.java 747B
ChooseLogDAO.java 642B
NoticeDAO.java 628B
ExamService.java 604B
StudentAssignmentDAO.java 598B
ClassGrade.java 581B
SysUserDAO.java 545B
FileNotPermitException.java 511B
ChoiceService.java 500B
IdEntity.java 477B
ResourceDAO.java 467B
ResourceComment.java 461B
QuestionComment.java 457B
ExceptionController.java 429B
BuyLogDAO.java 427B
CaptchaException.java 385B
AssignmentDAO.java 333B
ExamPaperDAO.java 331B
ExamDAO.java 313B
QuestionDAO.java 257B
QuestionCommentDAO.java 221B
SysModifyLogDAO.java 220B
ResourceCommentDAO.java 220B
SysAuthorityDAO.java 216B
ClassGradeDAO.java 206B
ChoiceDAO.java 193B
touxiang.jpg 3KB
moment-with-locales.js 529KB
共 256 条
- 1
- 2
- 3
资源评论
- wangyoujuntc2021-04-09用户下载后在一定时间内未进行评价,系统默认好评。
- m0_751087872023-01-02资源很实用,内容详细,值得借鉴的内容很多,感谢分享。
- m0_645900052021-12-17用户下载后在一定时间内未进行评价,系统默认好评。
- k11223222022-01-21用户下载后在一定时间内未进行评价,系统默认好评。
程序帮
- 粉丝: 48
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功