——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于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
——————————CodeStart——————————
学生管理控制层:
@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
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
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
PageInfo
List
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
Grade grade,Model model, HttpSession session){
// List
PageInfo
List
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
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
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
PageInfo
List
model.addAttribute(“dataList”, dataList);
model.addAttribute(“pageInfo”, pageInfo);
return “/admin/course-mgt.jsp”;
@RequestMapping(“/qryCoursePage.action”)
@ResponseBody
public List
Course course,Model model, HttpSession session){
//List
PageInfo
List
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
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”;
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=551524170701201hf
https://javayms.pages.dev?id=551524170701201hf