基于javaweb的SpringBoot在线考试管理(java+springboot+vue+elementui+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

001424030701

011424030701

021424030701

031424030701

051424030701

061424030701

基于javaweb的SpringBoot在线考试管理(java+springboot+vue+elementui+layui+mysql)

项目介绍

基于SpringBoot Vue的在线考试管理

角色:管理员、学生、教师

管理员:管理员登录系统后,可以对首页,个人中心,学生管理,教师管理,课程分类管理,课程信息管理,在线考试管理,试题管理,习题管理,考试管理等功能

学生:学生管理,在学生管理页面可以对索引,学生账号,性别,头像,年龄,电话号码等内容进行详情,修改或删除等操作

教师:教师登录进入在线考试系统可以对首页,个人中心,课程信息管理,试题管理,在线考试管理,考试管理等功能

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue+ElementUI+Layui+HTML+CSS+JS

使用说明

项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,控制台提示运行成功后再去运行前端项目; 5. 管理员用户名密码:admin/admin 普通用户名密码:user/123456

学生管理控制层:

@Controller

public class StuController {

@Autowired

UserService userService;

@Autowired

GradeService gradeService;

//跳转到前台登录页面

@RequestMapping(“/toLogin.action”)

public String toUserLogin(User user, Model model, HttpSession session){

if(session.getAttribute(“userName”)!= null){

return “/user/index.jsp”;

if(session.getAttribute(“user”)== null){

session.setAttribute(“user”, userService.get(user.getUserId()));

List dataList = userService.find(user);

model.addAttribute(“dataList”, dataList);

return “/user/login.jsp”;

/**

  • 前台用户登录

  • @param user

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/user/toIndex.action”)

public String toIndex(User user, Model model, HttpSession session){

if(session.getAttribute(“userName”)!= null){

return “/user/index.jsp”;

}else{

return “forward:/toLogin.action”;

/**

  • 用户账号密码检查

  • @param user

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/checkPwd.action”)

@ResponseBody

public MsgItem checkPwd(User user, Model model, HttpSession session){

MsgItem item = new MsgItem();

User loginUser = userService.login(user);

if(loginUser!=null && loginUser.getUserType() ==0){

if(loginUser.getUserState()==0 ){

item.setErrorNo(“1”);

item.setErrorInfo(“该账号尚未通过审核!”);

}else{

item.setErrorNo(“0”);

item.setErrorInfo(“登录成功!”);

session.setAttribute(“userName”, loginUser.getUserName());

session.setAttribute(“user”, loginUser);

}else{

item.setErrorNo(“1”);

item.setErrorInfo(“账号不存在或用户名密码错误!”);

return item;

@RequestMapping(“/toRegistPage.action”)

public String toRegistPage(Model model, HttpSession session){

List list = gradeService.find(new Grade());

model.addAttribute(“grade”, list);

return “/user/regist.jsp”;

/**

  • 添加用户信息

  • @param user

  • @param model

  • @return

*/

@RequestMapping(“/addUserInfo.action”)

public String addUserInfo(User user, Model model, HttpSession session){

userService.insert(user);

return “redirect:/toLogin.action”;

//跳转到前台登录页面

@RequestMapping(“/toUserInfo.action”)

public String toUserInfo(User user, Model model, HttpSession session){

User loginUser = (User) session.getAttribute(“user”);

user = userService.getStu(loginUser);

Grade grade = gradeService.get(Integer.parseInt(user.getGrade()));

user.setGrade(grade.getGradeName());

model.addAttribute(“user”, user);

return “/user/userinfo.jsp”;

/**

  • 更新学生信息

  • @param user

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/updateUserInfo.action”)

public String updateUserInfo(String newPwd,User user, Model model, HttpSession session){

if(newPwd!= null && newPwd.trim().length()>0){

user.setUserPwd(newPwd);

userService.update(user);

user = userService.get(user.getUserId());

if(session.getAttribute(“user”)== null){

session.setAttribute(“user”, userService.getStu(user));

return “redirect:/user/toIndex.action”;

//跳转到登录页面

@RequestMapping(“/user/exitSys.action”)

public String exitSystem(User user, Model model, HttpSession session){

if(session.getAttribute(“userName”)!= null){

session.removeAttribute(“userName”);

return “redirect:/toLogin.action”;

return “redirect:/toLogin.action”;

//跳转到前台登录页面

@RequestMapping(“/toAbout.action”)

public String toAbout(User user, Model model, HttpSession session){

User loginUser = (User) session.getAttribute(“user”);

model.addAttribute(“user”, loginUser);

return “/user/about.jsp”;

年级管理控制层: 

@Controller

public class GradeController {

@Autowired

GradeService gradeService;

@Autowired

CourseService courseService;

/**

  • 跳转到年级页面

  • @param course

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toGradePage.action”)

public String toGradePage(@RequestParam(value=”page”, defaultValue=”1”) int page,

Grade grade,Model model, HttpSession session){

// List dataList = gradeService.find(grade);

PageInfo pageInfo = gradeService.findByPage(grade, page, 5);

List dataList = pageInfo.getList();

Course course=null;

for(Grade g : dataList){

String courseName= “”;

String id = g.getCourseId();

if(id != null){

String ids[] = id.split(“,”);

for(int i=0;i<ids.length;i++){

course = courseService.get(Integer.parseInt(ids[i]));

courseName+=course.getCourseName()+”,”;

//判断最后一个字符是否为逗号,若是截取

String str = courseName.substring(courseName.length() -1, courseName.length());

if(“,”.equals(str)){

str = courseName.substring(0, courseName.length()-1);

}else{

str = courseName;

g.setCourseId(str);

model.addAttribute(“dataList”, dataList);

model.addAttribute(“pageInfo”, pageInfo);

return “/admin/grade-mgt.jsp”;

@RequestMapping(“/qryAllGrade.action”)

@ResponseBody

public List qryAllGrade(@RequestParam(value=”page”, defaultValue=”1”) int page,

Grade grade,Model model, HttpSession session){

// List dataList = gradeService.find(grade);

PageInfo pageInfo = gradeService.findByPage(grade, page, 5);

List dataList = pageInfo.getList();

Course course=null;

for(Grade g : dataList){

String courseName= “”;

String id = g.getCourseId();

if(id != null){

String ids[] = id.split(“,”);

for(int i=0;i<ids.length;i++){

course = courseService.get(Integer.parseInt(ids[i]));

courseName+=course.getCourseName()+”,”;

//判断最后一个字符是否为逗号,若是截取

String str = courseName.substring(courseName.length() -1, courseName.length());

if(“,”.equals(str)){

str = courseName.substring(0, courseName.length()-1);

}else{

str = courseName;

g.setCourseId(str);

model.addAttribute(“dataList”, dataList);

model.addAttribute(“pageInfo”, pageInfo);

return dataList;

/**

  • 删除年级信息

  • @param gradeId 年级编号,删除多个是,id用逗号分隔开

  • @param model

  • @return

*/

@RequestMapping(“/deleteGrade.action”)

public String deleteGrade(String gradeId, Model model){

if(gradeId != null){

String ids[] = gradeId.split(“,”);

for(int i=0;i<ids.length;i++){

gradeService.delete(Integer.parseInt(ids[i]));

return “redirect:/toGradePage.action”;

/**

  • 跳转到添加年级信息页面

  • @param grade

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toAddGrade.action”)

public String toAddGrade(Course course, Model model, HttpSession session){

List dataList = courseService.find(course);

model.addAttribute(“dataList”, dataList);

return “/admin/grade-reg.jsp”;

/**

  • 添加年级信息

  • @param user

  • @param model

  • @return

*/

@RequestMapping(“/addGrade.action”)

public String addType(Grade grade, Model model){

gradeService.insert(grade);

return “redirect:/toGradePage.action”;

/**

  • 查看年级信息

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toQryGrade.action”)

public String toQryGrade(int gradeId, Model model, HttpSession session){

Grade gradeInfo = gradeService.get(gradeId);

model.addAttribute(“grade”, gradeInfo);

model.addAttribute(“course”, courseService.find(new Course()));

return “/admin/grade-upd.jsp”;

/**

  • 跳转到更新年级信息页面

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toUpdGrade.action”)

public String toUpdGrade(int gradeId, Model model, HttpSession session){

Grade gradeInfo = gradeService.get(gradeId);

String courseName= “”;

Course course=null;

List dataList = courseService.find(course);

model.addAttribute(“dataList”, dataList);

String id = gradeInfo.getCourseId();

if(id != null){

String ids[] = id.split(“,”);

for(int i=0;i<ids.length;i++){

course = courseService.get(Integer.parseInt(ids[i]));

courseName+=course.getCourseName()+”,”;

//判断最后一个字符是否为逗号,若是截取

String str = courseName.substring(courseName.length() -1, courseName.length());

if(“,”.equals(str)){

str = courseName.substring(0, courseName.length()-1);

}else{

str = courseName;

gradeInfo.setCourseId(str);

model.addAttribute(“grade”, gradeInfo);

return “/admin/grade-upd.jsp”;

/**

  • 更新年级信息

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/updGrade.action”)

public String updGrade(Grade grade, Model model, HttpSession session){

gradeService.update(grade);

return “redirect:/toGradePage.action”;

/**

  • 删除年级信息

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/delGrade.action”)

public String delGrade(int gradeId, Model model, HttpSession session){

gradeService.delete(gradeId);

return “redirect:/toGradePage.action”;

课程信息管理控制层:

@Controller

public class CourseController {

@Autowired

CourseService courseService;

/**

  • 跳转到课程页面

  • @param course

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toCoursePage.action”)

public String toCoursePage(@RequestParam(value=”page”, defaultValue=”1”) int page,

Course course,Model model, HttpSession session){

//List dataList = courseService.find(course);

PageInfo pageInfo = courseService.findByPage(course, page, 5);

List dataList = pageInfo.getList();

model.addAttribute(“dataList”, dataList);

model.addAttribute(“pageInfo”, pageInfo);

return “/admin/course-mgt.jsp”;

@RequestMapping(“/qryCoursePage.action”)

@ResponseBody

public List qryCoursePage(@RequestParam(value=”page”, defaultValue=”1”) int page,

Course course,Model model, HttpSession session){

//List dataList = courseService.find(course);

PageInfo pageInfo = courseService.findByPage(course, page, 5);

List dataList = pageInfo.getList();

model.addAttribute(“dataList”, dataList);

model.addAttribute(“pageInfo”, pageInfo);

return dataList;

/**

  • 删除课程信息

  • @param courseId 课程编号,删除多个是,id用逗号分隔开

  • @param model

  • @return

*/

@RequestMapping(“/deleteCourse.action”)

public String deleteCourse(String courseId, Model model){

if(courseId != null){

String ids[] = courseId.split(“,”);

for(int i=0;i<ids.length;i++){

courseService.delete(Integer.parseInt(ids[i]));

return “redirect:/toCoursePage.action”;

/**

  • 跳转到添加课程信息页面

  • @param course

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toAddCourse.action”)

public String toAddType(Course course, Model model, HttpSession session){

List dataList = courseService.find(course);

model.addAttribute(“dataList”, dataList);

return “/admin/course-reg.jsp”;

/**

  • 添加课程信息

  • @param user

  • @param model

  • @return

*/

@RequestMapping(“/addCourse.action”)

public String addType(Course course, Model model){

course.setCourseState(“0”);

courseService.insert(course);

return “redirect:/toCoursePage.action”;

/**

  • 查看题型信息

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toQryCourse.action”)

public String toQryType(int courseId, Model model, HttpSession session){

Course courseInfo = courseService.get(courseId);

model.addAttribute(“course”, courseInfo);

return “/admin/course-qry.jsp”;

/**

  • 跳转到更新题型信息页面

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/toUpdCourse.action”)

public String toUpdType(int courseId, Model model, HttpSession session){

Course courseInfo = courseService.get(courseId);

model.addAttribute(“course”, courseInfo);

return “/admin/course-upd.jsp”;

/**

  • 更新题型信息

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/updCourse.action”)

public String updType(Course course, Model model, HttpSession session){

courseService.update(course);

return “redirect:/toCoursePage.action”;

/**

  • 删除题型信息

  • @param type

  • @param model

  • @param session

  • @return

*/

@RequestMapping(“/delCourse.action”)

public String delCourse(int courseId, Model model, HttpSession session){

courseService.delete(courseId);

return “redirect:/toCoursePage.action”;


项目链接:
https://javayms.github.io?id=551524170701201hf
https://javayms.pages.dev?id=551524170701201hf