——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
教师:查看考试结果、编辑考试题目
学生:考试答题

老师







学生



技术框架
JSP JavaScript Bootstrap SpringBoot SpringMVC MyBatis
基于javaweb的SpringBoot+MyBatis在线考试系统(教师、学生)(java+springboot+jsp+mysql+maven)
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| private ScoreService service;
@RequestMapping("score") public String score(HttpServletRequest request, Model m) { HttpSession session = request.getSession(); QuestionPaper paper = (QuestionPaper) session.getAttribute(Const.SESSION_PAPER); List<QuestionPlus> choices = paper.getChoices(); List<QuestionPlus> fillblanks = paper.getFillblanks(); List<QuestionPlus> judgements = paper.getJudgements(); List<QuestionPlus> writes = paper.getWrites();
Enumeration<String> names = request.getParameterNames(); String stuAnswer = ""; while (names.hasMoreElements()) { stuAnswer = ""; String name = names.nextElement(); if (name.startsWith(Const.PAGE_NAME_PREFIX_CHOICE)) { String[] stuChoiceAnswer = request.getParameterValues(name); for (String s : stuChoiceAnswer) { stuAnswer += s; } setUserAnswer(name, Const.PAGE_NAME_PREFIX_CHOICE, choices, stuAnswer); } else if (name.startsWith(Const.PAGE_NAME_PREFIX_FILLBLANK)) { stuAnswer = request.getParameter(name); setUserAnswer(name, Const.PAGE_NAME_PREFIX_FILLBLANK, fillblanks, stuAnswer); } else if (name.startsWith(Const.PAGE_NAME_PREFIX_JUDGE)) { stuAnswer = request.getParameter(name); setUserAnswer(name, Const.PAGE_NAME_PREFIX_JUDGE, judgements, stuAnswer); } else if (name.startsWith(Const.PAGE_NAME_PREFIX_WRITE)) { stuAnswer = request.getParameter(name); setUserAnswer(name, Const.PAGE_NAME_PREFIX_WRITE, writes, stuAnswer); } } paper.setChoices(choices); paper.setFillblanks(fillblanks); paper.setJudgements(judgements); paper.setWrites(writes); PaperAnswer paperAnswer = new PaperAnswer();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| @Controller @RequestMapping("question") public class QuestionStudentController { @Autowired private QuestionService service;
@RequestMapping("showpaper") public String method(HttpServletRequest request) { System.out.println("===show paper"); HttpSession session = request.getSession(); List<Question> allQuestions = service.getAllQuestions(); QuestionPaper paper = new QuestionPaper(); Random r = new Random(); for (int i = 0; i < 5; i++) { int nextInt = r.nextInt(allQuestions.size()); Question q = allQuestions.get(nextInt); QuestionPlus qPlus = new QuestionPlus(); qPlus.setQ(q); int type= (q.getType() == null)?0:q.getType(); paper.addInQsList(qPlus, type); allQuestions.remove(nextInt); } session.setAttribute("paper", paper); return Const.PAGE_PAPER; }
} package demo.controller;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| setUserAnswer(name, Const.PAGE_NAME_PREFIX_FILLBLANK, fillblanks, stuAnswer); } else if (name.startsWith(Const.PAGE_NAME_PREFIX_JUDGE)) { stuAnswer = request.getParameter(name); setUserAnswer(name, Const.PAGE_NAME_PREFIX_JUDGE, judgements, stuAnswer); } else if (name.startsWith(Const.PAGE_NAME_PREFIX_WRITE)) { stuAnswer = request.getParameter(name); setUserAnswer(name, Const.PAGE_NAME_PREFIX_WRITE, writes, stuAnswer); } } paper.setChoices(choices); paper.setFillblanks(fillblanks); paper.setJudgements(judgements); paper.setWrites(writes); PaperAnswer paperAnswer = new PaperAnswer(); List<PaperSubjectiveAnswer> list = new ArrayList<>(); User stu = (User) session.getAttribute(Const.SESSION_STU); paperAnswer.setStuId(stu.getId()); paperAnswer.setTime(new Date()); String html = paper.getCurrentResult(paperAnswer, list); m.addAttribute("paperResult", html); service.save(paperAnswer, list); return Const.PAGE_STUDENT_RESULT; }
private void setUserAnswer(String paraName, String typePrefix, List<QuestionPlus> qList, String userAnswer) { int len = typePrefix.length(); String i = paraName.substring(len); int paperId = Integer.parseInt(i); int index = paperId - 1; QuestionPlus qq = qList.get(index); qq.setPaperId(paperId); qq.setStuAnswer(userAnswer); qList.set(index, qq); }
@RequestMapping("mark") public String mark(Model m) { List<PaperAnswer> paperAnswers = service.selectAllPaperAnswer(); m.addAttribute("list", paperAnswers); return Const.PAGE_ADMIN_MARK_LIST;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
@Controller @RequestMapping("question")
public class QuestionAdminController { @Autowired private QuestionService service;
@RequestMapping("save") public String saveQuestion(Question q) { service.save(q); return "redirect:all"; }
@RequestMapping("all") public String allQuestion(Model model) { List<Question> findAll = service.getAllQuestions(); model.addAttribute("list", findAll); return Const.PAGE_QUESTION_LIST; }
@RequestMapping("delete") public String deleteQuestion(String id) { System.out.println("即将删除" + service.getQuestionById(Integer.valueOf(id))); int ret = service.delete(Integer.valueOf(id)); System.out.println("delete:" + ret);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| @RequestMapping("delete") public String deleteQuestion(String id) { System.out.println("即将删除" + service.getQuestionById(Integer.valueOf(id))); int ret = service.delete(Integer.valueOf(id)); System.out.println("delete:" + ret); return "redirect:all"; }
@RequestMapping("edit") public String editQuestion(String id, Model model) { Question q = service.getQuestionById(Integer.valueOf(id)); model.addAttribute("question", q); return Const.PAGE_QUESTION_EDIT; }
@RequestMapping("add") public String addQuestion() { return Const.PAGE_QUESTION_EDIT; }
} package demo.controller;
@Controller
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| paperAnswer.setTime(new Date()); String html = paper.getCurrentResult(paperAnswer, list); m.addAttribute("paperResult", html); service.save(paperAnswer, list); return Const.PAGE_STUDENT_RESULT; }
private void setUserAnswer(String paraName, String typePrefix, List<QuestionPlus> qList, String userAnswer) { int len = typePrefix.length(); String i = paraName.substring(len); int paperId = Integer.parseInt(i); int index = paperId - 1; QuestionPlus qq = qList.get(index); qq.setPaperId(paperId); qq.setStuAnswer(userAnswer); qList.set(index, qq); }
@RequestMapping("mark") public String mark(Model m) { List<PaperAnswer> paperAnswers = service.selectAllPaperAnswer(); m.addAttribute("list", paperAnswers); return Const.PAGE_ADMIN_MARK_LIST; }
@RequestMapping("markDetail") public String markDetail(String id, Model m) { Integer nId = Integer.valueOf(id); PaperAnswer answerDetail = service.getAnswerDetail(nId); m.addAttribute("md", answerDetail); return Const.PAGE_ADMIN_MARK_DETAIL; } } package demo.controller;
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=561521112602106ah
https://javayms.pages.dev?id=561521112602106ah