计算机课程设计|毕业设计之在线考试管理系统代码-基于SSM的在线考试管理系统

> > 所有工具下载链接:

JDK版本下载
Eclipse下载链接
Mysql下载链接
tomcat下载链接
向日葵远程工具

1.开发环境

  • 开发语言:Java
  • 技术:SSM、BootStrap
  • 数据库:MySQL
  • 架构:B/S
  • 源码类型: Web
  • 编译工具:Idea、Eclipse、MyEclipse (选其一)
  • 其他:jdk1.8、Tomcat8.5 、Navicat

2.系统的设计与实现

2.1 用户类型

用户角色分为 管理员、教师、学生 这两类用户。

2.2 各角色功能模块

2.2.1 管理员

  • 登录
  • 基本信息管理
  • 班级管理
  • 教师管理
  • 学生管理
  • 试卷管理
  • 试题管理
  • 考试安排管理
  • 以往考试信息
  • 作业管理

2.2.2 教师【教师跟管理员功能一样,有些功能没有修改删除权限】

  • 登录
  • 基本信息管理
  • 班级管理
  • 教师管理
  • 学生管理
  • 试卷管理
  • 试题管理
  • 考试安排管理
  • 以往考试信息
  • 作业管理

2.2.3 学生

  • 登录注册
  • 考试中心【需要教师安排考试才能参加】
  • 考试历史
  • 作业下载【需要管理员布置作业后,学生才有作业】

2.3 部分功能模块展示

学生登录模态框

学生考试中心

学生考试历史

学生作业
管理员之试卷管理

管理员之试题管理


管理员之考试安排

管理员之作业管理

2.4部分代码

 /*** 提交作业** @param request* @param homeWork* @param file* @return* @author 疯狂行者* */@RequestMapping(value = "/publishwork")public ModelAndView publishwork(HttpServletRequest request, HomeWork homeWork, @RequestParam("inputfile") MultipartFile file) {String f = UUID.randomUUID().toString();String filePath = "D:/ityueqiangu/ssmfile";String extension = FilenameUtils.getExtension(file.getOriginalFilename());String fileName = f + "." + extension;logger.info("保存上传文件 " + fileName + " 到 " + filePath);/** 保存上传  文件 */this.saveUploadFile(file, filePath + File.separator + fileName);StringBuffer url = request.getRequestURL();//获取 头部文件String headerUrl = url.delete(url.length() - request.getRequestURI().length(), url.length()).toString();TeacherInfo loginTeacher = (TeacherInfo) request.getSession().getAttribute("loginTeacher");//保存到 作业表中homeWork.setFileId(f);homeWork.setPublishPath(headerUrl + "/file/" + fileName);homeWork.setPublishTime(new Date());homeWork.setCreatTime(new Date());homeWork.setCreatBy(loginTeacher.getTeacherId());ModelAndView modelAndView = new ModelAndView();Integer result = homeWorkService.insert(homeWork);if (result < 0) {modelAndView.addObject("error", "布置作业失败");modelAndView.setViewName("error");} else {modelAndView.setViewName("redirect:homework");modelAndView.addObject("success", "布置作业成功");}return modelAndView;}
/*** 获取学生端列表* @author FlowerStone* @date 2021年11月21日 0021 19:10:53* @param studentId* @return*/@RequestMapping(value = "/finishhomeworklist/{studentId}")public ModelAndView finishhomeworklist(@PathVariable("studentId") Integer studentId){ModelAndView modelAndView = new ModelAndView();if (studentId == null) {logger.error("学生编号 为空");modelAndView.setViewName("error");return modelAndView;}//根据 学生id 查询学生的信息StudentInfo studentInfo = studentInfoService.getStudentById(studentId);//查询批阅信息Homeworkcommit hc = new Homeworkcommit();hc.setCreatBy(studentId);List<Homeworkcommit> homeworkcommits = homeworkcommitService.list(hc);Map<Integer,List<Homeworkcommit>> homeworkcommitMap = homeworkcommits.stream().collect(Collectors.toMap(Homeworkcommit::getHomeworkId, homeworkcommit -> homeworkcommits));//根据班级查询作业情况HomeWork homeWork = new HomeWork();homeWork.setClassId(studentInfo.getClassInfo().getClassId());Homeworkcommit homeworkcommit = new Homeworkcommit();homeworkcommit.setCreatBy(studentId);homeWork.setHomeworkcommit(homeworkcommit);//所有的作业List<HomeWork> homeWorkList = homeWorkService.list(homeWork);//设置老师建议homeWorkList.stream().forEach(element->{if (homeworkcommitMap.get(element.getId())!=null) {//个人的HomeWork paramHomework = new HomeWork();paramHomework.setId(element.getId());Homeworkcommit paramHomeworkcommit = new Homeworkcommit();paramHomeworkcommit.setCreatBy(studentId);paramHomework.setHomeworkcommit(paramHomeworkcommit);List<HomeWork> personHomeWorks = homeWorkService.listHomeworkcommit(paramHomework);
//                List<Homeworkcommit> homeworkcommitList = homeworkcommitMap.get(element.getId());
//                homeworkcommitList.forEach(item->{//                    element.setTeacherSuggest(personHomeWorks.get(0).getTeacherSuggest());
//                });if (!CollectionUtils.isEmpty(personHomeWorks)) {element.setTeacherSuggest(personHomeWorks.get(0).getTeacherSuggest());}}});modelAndView.setViewName("/reception/finishhomeworklist");modelAndView.addObject("homeWorks",homeWorkList);return modelAndView;}

2.5作业上传注意

注意:作业默认提交到D:/ityueqiangu/ssmfile下,本人是使用IDEA运行项目,所以需要配置路径映射,如下:

大家点赞、收藏、关注、评论啦 、需要源码可以评论区咨询

Java毕设课设-在线考试管理系统相关推荐

  1. Java毕设课设-高校用电管理系统

    计算机课程设计|毕业设计之高校用电管理系统代码-基于JavaWeb的高校用电管理系统 1.开发环境 开发语言:Java 技术:JavaWeb[Servlet] 数据库:MySQL 架构:B/S 源码类 ...

  2. Java毕设课设-学生心理测试管理系统

    计算机课程设计|毕业设计之学生心理测试管理系统代码-基于JavaWeb的学生心理测试管理系统 1.开发环境 开发语言:Java 技术:JavaWeb[Servlet] 数据库:MySQL 架构:B/S ...

  3. Java毕设项目自行车在线租赁管理系统2021(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目自行车在线租赁管理系统2021(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuild ...

  4. Java毕设|课设项目-蛋糕店商城管理系统

    > 注意:这里不是全部功能,需要全部功能的可以看评论联系我 1.系统总体设计 1.1开发环境 操作系统:Windows10: 编程语言:Java: 运行环境:jdk1.8 开发工具:Eclips ...

  5. Python Web在线考试管理系统【源码+毕设论文】

    本文参考之前Python+Django Web在线考试管理系统的博文,协助某同学完成的毕业设计论文. 有需要的同学请也可以自行参考以下系列文章: Python+Django Web在线考试管理系统设计 ...

  6. 2021山东大学软件学院JAVA高程课设-考试平台的设计与开发(一)

    系列目录 2021山东大学软件学院JAVA高程课设-考试平台的设计与开发(一) 2021山东大学软件学院JAVA高程课设-考试平台的设计与开发(二) 2021山东大学软件学院JAVA高程课设-考试平台 ...

  7. Springboot在线考试管理系统 计算机毕设源码62754

    摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对在线考试管理等问题,对 ...

  8. 基于java的网络在线考试管理系统的设计与实现--毕业开题报告

    基于java的网络在线考试管理系 统的设计与实现开题报告–毕业设计 最近grace刚完成毕业设计 通过了赶紧来给宝贝们分享我的成果哈哈 设计题目:基于java的网络在线考试管理系统的设计与实现 一.选 ...

  9. jsp+servlet+bootstrap开发java web在线考试管理系统

    jsp+servlet+bootstrap开发java web在线考试管理系统 项目描述 考试对于考试管理者来说无疑是一件非常繁重的工作,在线考试管理系统的出现,使考试变成一件简单易行的事情. 本系统 ...

最新文章

  1. 面对新型肺炎疫情,AI能做什么?
  2. [小技巧]移除C/C++源码中无关的#ifdef
  3. golang键盘输入:从控制台获取信息
  4. 中国海洋大学计算机学院研究生导师,中国海洋大学硕士研究生导师介绍:唐瑞春...
  5. Linux系统编程9:进程入门之操作系统为什么这么重要以及它是如何实现管理的
  6. 【玩转数据系列三】利用图算法实现金融行业风控
  7. .htaccess跳转https
  8. 数据库设计三大范式详解
  9. Linux怎么删除tomcat日志,Linux下定时切割Tomcat日志并删除指定天数前的日志记录...
  10. MATLAB下载+安装教程
  11. python超市管理系统实训报告_超市管理系统总结报告
  12. Java多线程 - 线程状态
  13. 如何用Docker搭建自己的LANP|LNMP环境?
  14. xp系统关于无线网络连接服务器,八步骤搞定XP系统无线网络设置问题
  15. 计算机桌面文件删除不掉是怎么了,桌面上文件删不掉_桌面上的压缩文件为什么删除不了?...
  16. 无人出租车江湖:百度出击,安途并进
  17. Titanic练习 特征分析与选择
  18. 模仿6ecc 主页 主体部分(查看附件点击6eccHTML 就会看到如下页面效果)
  19. python新手入门程序——实验5
  20. C#中在鼠标经过Button控件时显示提示信息(弹出气泡提示框)

热门文章

  1. 关于安装oracle[INS-30131]错误解决方法
  2. 求解相邻比特数问题(DP)
  3. 怎样格式化xml文件?
  4. Word文件乱码XML
  5. DNS服务器未响应或防火墙阻止了,也可能是因为DNS服务器未响应或防火墙阻止了...
  6. 发展网络安全产业筑牢网络强国基石
  7. 哈工大数据结构期末_21哈工大计算机考研 | 备考重点与参考书目推荐!
  8. 论文笔记《Learning Deep Correspondence through Prior and Posterior Feature Constancy》
  9. 机器学习算法——详细介绍 集成学习,以及什么是Bagging、随机森林、Boosting、XGBoost
  10. NAS 详细搭建方案 - 安装Aria2