Java毕设课设-在线考试管理系统
生活随笔
收集整理的這篇文章主要介紹了
Java毕设课设-在线考试管理系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算機課程設計|畢業設計之在線考試管理系統代碼-基于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毕设课设-在线考试管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asterisk 使用 g729 g72
- 下一篇: 计算机教育部第四次学科评估结果,【重磅!