✨作者主页:IT研究室✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
随着信息技术的快速发展,教育模式也正在经历着前所未有的变革。在线考试系统作为一种新型的教育工具,能够有效地提高教育效率,增强教育的灵活性和互动性。本课题的研究背景在于,传统的考试方式存在着许多问题,如效率低下、不公平、无法记录考试数据等,这些问题严重制约了教育质量的提升。因此,开发出一套完善的在线考试系统,对于解决这些问题,提高教育质量具有重要的意义。
尽管在线考试系统已经被广泛使用,但是现有的系统仍然存在着一些问题。首先,很多系统缺乏足够的灵活性和扩展性,无法满足不同课程和不同考试的需求。其次,很多系统没有有效地解决公平性问题,无法保证考试的公正性。最后,很多系统没有充分利用大数据技术,无法对考试数据进行深入的分析和挖掘,从而无法为教学提供有效的反馈。
本课题的研究目的是开发出一套完善的在线考试系统,该系统能够满足不同课程和不同考试的需求,保证考试的公正性,同时能够利用大数据技术对考试数据进行深入的分析和挖掘。具体的研究内容包括:
系统架构设计:设计出一种灵活、可扩展的系统架构,能够满足不同课程和不同考试的需求。
公平性保障机制:设计出一种公平性保障机制,能够保证考试的公正性。
大数据分析功能:利用大数据技术,实现对考试数据的深入分析和挖掘,为教学提供有效的反馈。
本课题的研究意义在于,通过开发出一套完善的在线考试系统,能够有效地提高教育效率,增强教育的灵活性和互动性,同时能够提高考试的质量和公正性。此外,通过对考试数据的深入分析和挖掘,可以为教学提供有效的反馈,进一步促进教学质量的提升。因此,本课题的研究成果具有重要的理论和实践价值。
/**
* Created with IntelliJ IDEA.
* User: samsung
* Date: 2019/9/14
* Time: 16:11
* Description:答题卡,控制器.
*/@Controller
@RequestMapping("/exam")
public class ExamPaperCardController {
@Autowired
private IExamItemService iExamItemService;
//答题卷
@RequestMapping("/paper/{paperid}")
public String startExam(@PathVariable int paperid,Model model){
model.addAttribute("items",iExamItemService.getItemsByPaperId(paperid));
model.addAttribute("paperid",paperid);
return "paper/testPaper";
}
//提交答案,运算分数控制器。
@RequestMapping("/{paperid}/result")
public String ExamResult(@PathVariable int paperid, HttpServletRequest request, HttpSession session,Model model){
// key:题号,value:用户答案
Map userAnswers = new HashMap<>(); //用于存用户提交的答案。
//对用户的答案和题号进行封装。
for (int i = 18,j = 0 ; i< 33 ;i++,j++){
String an = request.getParameter(i+"");
System.out.println(i+"-->"+an);
userAnswers.put(i+"",an);
}
//获取到当前用户
ExamUser principal = (ExamUser) SecurityUtils.getSubject().getPrincipal();
//调用service层接口。获取成绩对象
ExamScore examScore = iExamItemService.saveScore(userAnswers, paperid, principal.getUserid());
model.addAttribute("score",examScore);
return "paper/score";
}
//查看答案解析;
@RequestMapping("/{paperid}/check")
public String getAngni(@PathVariable int paperid,String papername,Model model,
HttpSession session){
//获取到当前用户
ExamUser principal = (ExamUser) SecurityUtils.getSubject().getPrincipal();
model.addAttribute("items",iExamItemService.getItemsAndScore(paperid,principal.getUserid()));
model.addAttribute("papername",papername);
return "/paper/chechPaper";
}
}
/**
* Created with IntelliJ IDEA.
* User: samsung
* Date: 2019/9/14
* Time: 14:39
* Description:试卷数据的控制器,
*/@Controller
@RequestMapping("/home")
public class ExamPaperController {
@Autowired
private IExamPaperService iExamPaperService;
@Autowired
private IExamItemService iExamItemService;
//显示所有试卷,同时分页显示.在首页.
@RequestMapping("/papers")
public String home(Model model){
ExamUser principal = (ExamUser) SecurityUtils.getSubject().getPrincipal();
model.addAttribute("page",iExamPaperService.getAllExamPaper(0));
return "paper/home";
}
//搜索相关的试卷
@RequestMapping("/search")
public String search(String keyword,Model model){
model.addAttribute("keyword",keyword);
model.addAttribute("page",iExamPaperService.searchExamPaper(keyword,1));
return "paper/home";
}
//搜索相关试卷,同时到指定页面。
@RequestMapping("/search/{page}")
public String search(@PathVariable int page, String keyword, Model model){
model.addAttribute("keyword",keyword);
model.addAttribute("page",iExamPaperService.searchExamPaper(keyword,page));
return "paper/home";
}
//查看我的试卷。
@RequestMapping("/mypaper")
public ModelAndView myPaper(HttpSession session){
ExamUser principal = (ExamUser) SecurityUtils.getSubject().getPrincipal();
return new ModelAndView("/paper/myPaper","page",
iExamPaperService.getAllExamPaper(principal.getUserid()));
}
}
/**
* Created with IntelliJ IDEA.
* User: samsung
* Date: 2019/9/14
* Time: 14:03
* Description:
*
* @author admin
*/
@Controller
@RequestMapping("/user")
public class ExamUserController {
@Autowired
private IExamUserService iExamUserService;
private static Logger logger = LoggerFactory.getLogger(ExamUserController.class);
//去登录界面,
@RequestMapping("/tologin")
public String tologin() {
logger.info("登录用户名");
return "user/login";
}
//实现登录功能.
@RequestMapping("/login")
public String login(String uname, String upwd) {
//查询该用户是否存在.
logger.info("登录用户名:{}", uname);
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(uname, upwd);
try {
subject.login(token);
} catch (AuthenticationException e) {
throw new AuthenticationException("用户名或者密码错误");
}
return "redirect:/home/papers.action";
}
//去注册界面
@RequestMapping("/toregister")
public String toregister() {
return "user/register";
}
//注册功能
@RequestMapping("/register")
public String register(String uname, String upwd) {
iExamUserService.saveExamUser(new ExamUser(uname, upwd));
return "redirect:tologin.action";
}
}
在线考试系统-项目视频:
Spring Boot项目实战: 在线考试系统
计算机毕业设计选题推荐-在线考试系统-Java项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我