计算机毕业设计选题推荐-学生网上选课系统-Java项目实战

作者主页: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项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值