✨作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
一、前言
随着教育信息化的发展,学生网上选课系统已经成为高校教育管理的重要工具。此系统可以提高教育管理的效率和便利性,同时也可以更好地满足学生的个性化需求。在当前的信息化时代,研究开发出一种便捷、稳定、易用的学生网上选课系统是十分必要的。
当前,一些学校已经实现了学生网上选课系统,但是这些系统存在一些问题。首先,系统的稳定性较差,经常出现崩溃的情况,给学生和教师带来不便。其次,系统的易用性较差,很多用户反映操作复杂,使用起来比较困难。再次,系统的安全性也存在一些问题,存在学生信息泄露的风险。因此,开发出一种更加完善、更加稳定、更加易用的学生网上选课系统是十分必要的。
本课题旨在开发一种便捷、稳定、易用的学生网上选课系统。通过本课题的研究,希望能够解决现有系统存在的问题,提高系统的性能和稳定性,同时简化操作流程,提高用户体验。此外,本课题还将加强系统的安全性,保障用户信息安全。
本课题的研究意义在于提高教育管理的效率和便利性,同时更好地满足学生的个性化需求。通过本课题的研究,可以增进教育信息化的进程,提高教育管理的现代化水平。此外,本课题还可以提高学生的学习体验,让学生更加方便地进行选课和查询成绩等操作。因此,本课题的研究对于推进教育信息化进程具有重要意义。
二、开发环境
- 开发语言:Java
- 数据库:MySQL
- 系统架构:B/S
- 后端:SpringBoot
- 前端:Vue
三、系统功能模块
- 角色:学生、教师、管理员
- 功能:
学生:
课程信息管理、排课信息、选课信息管理、学生成绩信息、选课限制信息、公告信息;
教师:
学生管理、课程信息、排课信息、选课信息、学生成绩管理、选课限制信息、公告信息;
管理员:
教师管理、学生管理、课程信息管理、排课信息管理、选课信息管理、学生成绩管理、基础数据管理(班级、成绩类型、第几节、课程类型、公告类型、周次、学期)、选课限制管理、公告信息管理。
四、系统界面展示
- 学生网上选课系统界面展示:
五、部分代码设计
- Java项目实战-代码参考:
@Controller
@RequestMapping("course")
public class CourseController {
@Autowired
private CourseService courseService;
@Autowired
private RegisterService service;
//跳转课程列表页面
@RequestMapping("list")
public ModelAndView course(HttpServletRequest request){
ModelAndView modelAndView = new ModelAndView();
List<Map> colleges = service.selectCollegeList();
boolean state = ManageController.judgeUserLoginState(request);
modelAndView.setViewName(state?"/manage/course":"redirect:/");
modelAndView.addObject("collegeList",colleges);
return modelAndView;
}
//查询课程列表
@ResponseBody
@RequestMapping("courseList")
public Result courseList(HttpServletRequest request){
Course course = new Course();
course.setCourseName(request.getParameter("courseName"));
course.setCollegeId(request.getParameter("collegeId"));
List<Course> courses = courseService.queryCourseList(course);
return Result.create(0,"",courses);
}
//课程修改
@ResponseBody
@RequestMapping("updateCourse")
public Result updateCourse(@RequestBody Course course){
//判断课程是否结束
if(course.getState() == "0"){
boolean status = courseService.queryCourseEndDate(course);
if(status){
return Result.createFail("当前课程还没有结束,无法删除");
}
}
boolean b = courseService.updateCourseList(course);
return b?Result.createSuccess("修改课程数据成功"):Result.createFail("修改课程数据失败");
}
@RequestMapping("forwardAdd")
public ModelAndView forwardAdd(HttpServletRequest request){
boolean state = ManageController.judgeUserLoginState(request);
ModelAndView modelAndView = new ModelAndView();
List<Map> colleges = service.selectCollegeList();
List<Map> teacherList = courseService.selectTeacherList();
modelAndView.setViewName(state?"/manage/addCourse":"redirect:/");
modelAndView.addObject("teacherList",teacherList);
modelAndView.addObject("collegeList",colleges);
return modelAndView;
}
@ResponseBody
@RequestMapping("addCourse")
public Result addCourse(@RequestBody Course course){
boolean b = courseService.addCourseList(course);
return b?Result.createSuccess("添加课程数据成功"):Result.createFail("添加课程数据失败");
}
//跳转学年管理
@RequestMapping("courseAcademicYear")
public ModelAndView courseAcademicYear(HttpServletRequest request){
boolean state = ManageController.judgeUserLoginState(request);
ModelAndView modelAndView = new ModelAndView();
if(!state){
modelAndView.setViewName("redirect:/");
return modelAndView;
}
//查询学年数据
List<CourseAcademicYear> courseAcademicYears = courseService.queryCourseAcademicYearList();
modelAndView.addObject("courseAcademicYears",courseAcademicYears);
modelAndView.setViewName("/manage/courseAcademicYear");
return modelAndView;
}
//修改学年
@ResponseBody
@RequestMapping("updateAcademicYears")
public Result updateAcademicYears(@RequestBody CourseAcademicYear courseAcademicYear){
boolean b = courseService.updateAcademicYears(courseAcademicYear);
return b?Result.createSuccess("修改学年数据成功"):Result.createFail("修改学年数据失败");
}
//添加学年
@ResponseBody
@RequestMapping("addAcademicYears")
public Result addAcademicYears(@RequestBody CourseAcademicYear courseAcademicYear){
boolean b = courseService.addAcademicYears(courseAcademicYear);
return b?Result.createSuccess("添加学年数据成功"):Result.createFail("添加学年数据失败");
}
}
@Controller
@RequestMapping("manage")
public class ManageController {
@Autowired
private ManageService manageService;
@Autowired
private RegisterService service;
@RequestMapping("getLoginData")
public ModelAndView getLoginData(String id,String loginName,String username,String roleId,String roleName,HttpServletRequest request){
ManageUser user = new ManageUser(id,loginName,username,null,roleId,null,null,roleName);
List<Menu> menuList = manageService.queryUserRoleMenu(user.getRoleId());
Information information = manageService.queryInformation(user.getRoleId());
ModelAndView modelAndView = new ModelAndView("/index");
modelAndView.addObject("information",information);
modelAndView.addObject("userType","1");
request.getSession().setAttribute("user",user);
request.getSession().setAttribute("menuList",menuList);
return modelAndView;
}
@RequestMapping("index")
public String index(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
return state?"/index":"redirect:/";
}
@RequestMapping("menu")
public ModelAndView menu(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
ModelAndView modelAndView = new ModelAndView();
if(!state){
modelAndView.setViewName("redirect:/");
return modelAndView;
}
modelAndView.setViewName("/manage/menu");
return modelAndView;
}
//查询菜单列表数据
@RequestMapping("menuList")
@ResponseBody
public JSONObject menuList(){
JSONArray menuList = manageService.queryMenuList();
JSONObject data = new JSONObject();
data.put("code",0);
data.put("data",menuList);
return data;
}
//添加菜单
@ResponseBody
@RequestMapping("addMenu")
public Result addMenu(@RequestBody Menu menu){
boolean state = manageService.addMenu(menu);
return state?Result.createSuccess("添加菜单成功"):Result.createFail("添加菜单出错");
}
@ResponseBody
@RequestMapping("updateMenu")
public Result updatedMenu(@RequestBody Menu menu){
if(!"".equals(menu.getState()) && menu.getState()!=null){
menu.setState(menu.getState().equals("1")?"0":"1");
}
boolean b = manageService.updateMenu(menu);
return b?Result.createSuccess("修改菜单成功"):Result.createFail("修改菜单出错");
}
@RequestMapping("college")
public String college(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
return state?"/manage/college":"redirect:/";
}
//查询学院列表数据
@RequestMapping("collegeList")
@ResponseBody
public JSONObject collegeList(){
JSONArray collegeList = manageService.queryCollegeList();
JSONObject data = new JSONObject();
data.put("code",0);
data.put("data",collegeList);
return data;
}
//修改学院
@ResponseBody
@RequestMapping("updateCollege")
public Result updateCollege(@RequestBody College college){
if(college.getState()!=null && !"".equals(college.getState())){
college.setState(college.getState().equals("1")?"0":"1");
}
boolean b = manageService.updateCollege(college);
return b?Result.createSuccess("修改学院信息成功"):Result.createFail("修改学院信息出错");
}
//添加学院
@ResponseBody
@RequestMapping("addCollege")
public Result addCollege(@RequestBody College college){
boolean b = manageService.addCollege(college);
return b?Result.createSuccess("添加学院信息成功"):Result.createFail("添加学院信息出错");
}
//资讯列表页面
@RequestMapping("information")
public String information(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
return state?"/manage/informationList":"redirect:/";
}
//资讯列表数据
@RequestMapping("informationList")
@ResponseBody
public JSONObject informationList(){
JSONArray informationList = manageService.queryInformationList();
JSONObject data = new JSONObject();
data.put("code",0);
data.put("data",informationList);
return data;
}
//资讯详情
@RequestMapping("informationDetail")
public ModelAndView addInformation(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
ModelAndView modelAndView = new ModelAndView();
if(!state){
modelAndView.setViewName("redirect:/");
return modelAndView;
}
//通过id查询出具体的数据
String id = request.getParameter("id");
modelAndView.setViewName("/manage/informationDetail");
Information information = null;
if(id != null){
information= manageService.queryInformationById(id);
}
modelAndView.addObject("information",information);
return modelAndView;
}
//修改首页资讯数据
@ResponseBody
@RequestMapping("updateInformation")
public Result updateInformation(@RequestBody Information information){
boolean b = manageService.updateInformation(information);
return b?Result.createSuccess("修改资讯信息成功"):Result.createFail("修改资讯信息失败");
}
//添加资讯信息
@ResponseBody
@RequestMapping("addInformation")
public Result addInformation(@RequestBody Information information){
boolean b = manageService.addInformation(information);
return b?Result.createSuccess("添加资讯信息成功"):Result.createFail("添加资讯信息失败");
}
//教师管理页面
@RequestMapping("teacher")
public ModelAndView teacher(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
// return state?"/manage/teacher":"redirect:/";
ModelAndView modelAndView = new ModelAndView();
List<Map> colleges = service.selectCollegeList();
modelAndView.setViewName(state?"/manage/teacher":"redirect:/");
modelAndView.addObject("collegeList",colleges);
return modelAndView;
}
//查询教师列表
@ResponseBody
@RequestMapping("teacherList")
public Result teacherList(HttpServletRequest request){
Teacher teacher = new Teacher();
teacher.setUsername(request.getParameter("username"));
teacher.setCollegeId(request.getParameter("collegeId"));
List<Teacher> teachers = manageService.queryTeacherList(teacher);
return Result.create(0,"",teachers);
}
//修改教师信息
@ResponseBody
@RequestMapping("updateTeacher")
public Result updateTeacher(@RequestBody Teacher teacher){
boolean b = manageService.updateTeacherList(teacher);
return b?Result.createSuccess("修改教师数据成功"):Result.createFail("修改教师数据失败");
}
//跳转学生管理页面
@RequestMapping("student")
public ModelAndView student(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
// return state?"/manage/student":"redirect:/";
ModelAndView modelAndView = new ModelAndView();
List<Map> colleges = service.selectCollegeList();
modelAndView.setViewName(state?"/manage/teacher":"redirect:/");
modelAndView.addObject("collegeList",colleges);
return modelAndView;
}
//查询学生列表
@ResponseBody
@RequestMapping("studentList")
public Result studentList(HttpServletRequest request){
Student student = new Student();
student.setUsername(request.getParameter("username"));
student.setCollegeId(request.getParameter("collegeId"));
List<Student> teachers = manageService.queryStudentList(student);
return Result.create(0,"",teachers);
}
//修改学生数据
@ResponseBody
@RequestMapping("updateStudent")
public Result updateStudent(@RequestBody Student student){
boolean b = manageService.updateStudentList(student);
return b?Result.createSuccess("修改学生数据成功"):Result.createFail("修改学生数据失败");
}
//跳转角色管理
@RequestMapping("role")
public String role(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
return state?"/manage/role":"redirect:/";
}
//查询菜单列表
@ResponseBody
@RequestMapping("getMenuList")
public Result getRoleMenuRelList(HttpServletRequest request){
String id = request.getParameter("id");
JSONArray menuList = manageService.queryMenuList2(id);
return Result.createSuccess(menuList);
}
//角色列表
@ResponseBody
@RequestMapping("roleList")
public Result roleList(HttpServletRequest request){
List<Role> roles = manageService.queryRoleList();
return Result.create(0,"",roles);
}
//修改角色
@ResponseBody
@RequestMapping("updateRole")
public Result updateRole(@RequestBody Role role){
boolean b = manageService.updateRole(role);
return b?Result.createSuccess("修改角色数据成功"):Result.createFail("修改角色数据失败");
}
//添加角色
@ResponseBody
@RequestMapping("addRole")
public Result addRole(@RequestBody Role role){
boolean b = manageService.addRole(role);
return b?Result.createSuccess("添加角色数据成功"):Result.createFail("添加角色数据失败");
}
public static boolean judgeUserLoginState(HttpServletRequest request){
ManageUser user = (ManageUser) request.getSession().getAttribute("user");
List<Menu> menus = (List) request.getSession().getAttribute("menuList");
if(user == null || menus == null || menus.size() == 0){
return false;
}
return true;
}
}
@Controller
@RequestMapping("student")
public class StudentController {
@Autowired
private StudentService studentService;
//登录获取数据
@RequestMapping("getLoginData")
public ModelAndView getLoginData(String id, String loginName, String username, String roleId, String roleName,String collegeId, HttpServletRequest request){
Student user = new Student(id,loginName,username,roleId,roleName,collegeId);
List<Menu> menuList = studentService.queryUserRoleMenu(user.getRoleId());
Information information = studentService.queryInformation(user.getRoleId());
ModelAndView modelAndView = new ModelAndView("/index");
modelAndView.addObject("information",information);
modelAndView.addObject("userType","3");
request.getSession().setAttribute("user",user);
request.getSession().setAttribute("menuList",menuList);
return modelAndView;
}
// //跳转首页
// @RequestMapping("index")
// public String index(HttpServletRequest request){
// boolean state = judgeUserLoginState(request);
// return state?"../index":"redirect:/";
// }
//跳转选课中心
@RequestMapping("courseCase")
public ModelAndView forwardCourseCase(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName(state?"/student/courseCase":"redirect:/");
return modelAndView;
}
//学生选课
@ResponseBody
@RequestMapping("courseSelection")
public Result courseSelection(@RequestBody StudentCourseRel studentCourseRel){
boolean b = studentService.updateStudentCourseRel(studentCourseRel);
if(!b){
return Result.createSuccess("当前课程无法选择!!! <br> 选修时间已过或可选人数不足");
}
return Result.createSuccess("选课成功");
}
@ResponseBody
@RequestMapping("courseList")
public Result courseList(HttpServletRequest request){
Student user = (Student) request.getSession().getAttribute("user");
List<Course> courses = studentService.queryCourseList(user.getCollegeId(),user.getId());
return Result.create(0,"",courses);
}
//跳转已选课程
@RequestMapping("selectedCourse")
public ModelAndView selectedCourse(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
ModelAndView modelAndView = new ModelAndView();
if(!state){
modelAndView.setViewName("redirect:/");
return modelAndView;
}
Student user = (Student) request.getSession().getAttribute("user");
List<Course> courses = studentService.selectCourseList(user.getId());
CourseAcademicYear courseAcademicYear = studentService.getCourseAcademicYear();
double creditsCount = 0;
for(Course course:courses){
creditsCount += course.getCredits();
}
modelAndView.addObject("courses",courses);
modelAndView.addObject("academicYear",courseAcademicYear.getAcademicYearName());
modelAndView.addObject("creditsCount",creditsCount);
modelAndView.addObject("courseCount",courses.size());
return modelAndView;
}
//跳转选课统计
@RequestMapping("statistical")
public ModelAndView courseStatistics(HttpServletRequest request){
boolean state = judgeUserLoginState(request);
ModelAndView modelAndView = new ModelAndView();
if(!state){
modelAndView.setViewName("redirect:/");
return modelAndView;
}
Student user = (Student) request.getSession().getAttribute("user");
Map map = studentService.queryCourseSeletedCount(user);
modelAndView.addObject("complete",map.get("complete"));
modelAndView.addObject("unfinished",map.get("unfinished"));
modelAndView.addObject("selected",map.get("selected"));
return modelAndView;
}
private boolean judgeUserLoginState(HttpServletRequest request){
Student user = (Student) request.getSession().getAttribute("user");
List<Menu> menus = (List) request.getSession().getAttribute("menuList");
if(user == null || menus == null || menus.size() == 0){
return false;
}
return true;
}
}
六、论文参考
- 计算机毕业设计选题推荐_学生网上选课系统-论文参考:
七、系统视频
- 学生网上选课系统-项目视频:
计算机毕业设计选题推荐-学生网上选课系统-Java项目实战
结语
计算机毕业设计选题推荐-学生网上选课系统-Java项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我