Java项目:springboot作业管理系统(计算机毕业设计)

作者主页:Java毕设网

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

一、项目介绍

该项目分为学生、教师两个角色,主要功能如下:

1. 学生模块

1) 我的课程:学生可在此页面自由选课
2) 我的作业:可查看选择的课程已发布的作业及完成情况,并可选择完成作业或查看详情

2. 教师模块

1) 学生管理:
I. 查询学生:可根据学生信息搜索学生,可进行修改删除操作,可进行全选批量删除和导出excel表格,可根据查询到的数据进行分页,输入页码进行跳转操作
II. 添加学生:可进行单个添加学生或excel表格导入学生
2) 教师管理:
I. 查询教师:可根据教师信息搜索教师,可进行修改删除操作,可进行全选批量删除和导出excel表格,可根据查询到的数据进行分页,输入页码进行跳转操作
II. 添加教师:可进行单个添加学生或excel表格导入教师

3) 班级管理:
I. 查询班级:可查看所有班级,进行删除修改等操作
II. 添加班级:可进行添加班级操作
4) 课程管理:
I. 查询课程:可查看所有课程,进行修改删除操作
II. 添加班级:可进行添加课程操作
5) 作业管理:
I. 查看作业完成情况:可查看每门科目项目学生作业的完成情况,可根据起止时间和课程名称进行搜索。
II. 添加作业:选择一门课程搜索题库,在题库中选择题目后进行作业发布操作
III. 编辑题库:可对题库进行增删改操作

二、环境需要

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

6.是否Maven项目:是

三、技术栈

1. 后端:SpringBoot+Mybatis+Thymeleaf模板引擎

2. 前端:HTML+CSS+JavaScript+BootStrap

四、使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中application.properties配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080/ 登录

五、运行截图


六、相关代码

课程管理控制器

@Controller
@RequestMapping(value = "teacher")
public class ClazzManagementController {

    @Autowired
    ClazzManagementService clazzManagementService;

    @RequestMapping(value = "show_clazz_bypage",method = RequestMethod.GET)
    public String showClazzByPage(Model model, Page page){
        if (page.getPageNum()==0)
            page.setPageNum(1);
        PageHelper.startPage(page.getPageNum(),12);
        List<Clazz> clazzs=clazzManagementService.selectAllClazz();
        PageInfo pageInfo=new PageInfo(clazzs);
        model.addAttribute("clazzs",clazzs);
        model.addAttribute("pageInfo",pageInfo);
        return "teacher/show_clazz";
    }


    @RequestMapping(value = "add_clazz",method = RequestMethod.GET)
    public String addStudent(Model model){
        return "teacher/add_clazz";
    }


    @RequestMapping(value = "add_clazz",method = RequestMethod.POST)
    public String addStudent(Clazz clazz, Model model){
        int result=clazzManagementService.insertClazz(clazz);
        if (result==0){
            model.addAttribute("msg","添加失败");
            return "teacher/add_clazz";
        }
        model.addAttribute("msg","添加成功");
        return "teacher/add_clazz";
    }

    @RequestMapping(value = "update_clazz/{id}",method = RequestMethod.GET)
    public String updateStudent(@PathVariable(name = "id")int id, Model model){
        model.addAttribute("clazz",clazzManagementService.selectClazzById(id));
        return "teacher/update_clazz";
    }

    @RequestMapping(value = "update_clazz",method = RequestMethod.POST)
    public String updateStudent(Clazz clazz,Model model){
        clazzManagementService.updateClazz(clazz);
        return "redirect:/teacher/show_clazz_bypage";
    }

    @RequestMapping(value = "delete_clazz/{id}/{pageNum}",method = RequestMethod.GET)
    public String deleteStudent(@PathVariable(name = "id")int id,@PathVariable(name = "pageNum")int pageNum, RedirectAttributes model){
        int result=clazzManagementService.deleteClazz(id);
        if (result == 0){
            model.addAttribute("msg","删除失败");
            return "redirect:/teacher/show_clazz_bypage"+"?pageNum="+pageNum;
        }
        model.addAttribute("msg","删除成功");
        return "redirect:/teacher/show_clazz_bypage"+"?pageNum="+pageNum;
    }

    @RequestMapping(value = "delete_clazz",method = RequestMethod.POST)
    public String deleteAllStudent(HttpServletRequest request, HttpServletResponse response){
        String[]  check = request.getParameterValues("check");
        for (String s:check
        ) {
            int id =Integer.parseInt(s);
            clazzManagementService.deleteClazz(id);
        }

        return "redirect:/teacher/show_clazz_bypage";
    }
}

管理端控制器

@Controller
@RequestMapping(value = "teacher")
public class HomeworkManagementController {

    @Autowired
    HomeworkManagementService homeworkManagementService;

    @RequestMapping(value = "release_homework",method = RequestMethod.GET)
    public String releaseHomework(Model model){
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("courses",courses);
        return "/teacher/release_homework";
    }

    @RequestMapping(value = "release_homework",method = RequestMethod.POST)
    public String findAllHomeworkByCourseId(Integer courseId,Model model){
        List<Homework> exercises=homeworkManagementService.selectHomeworkByCourseId(courseId);
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("courses",courses);
        model.addAttribute("exercises",exercises);
        model.addAttribute("courseId",courseId);
        return "/teacher/release_homework";
    }

    @RequestMapping(value = "add_homework_check",method = RequestMethod.GET)
    public String getCheck(HttpServletRequest request){
        String [] check = request.getParameterValues("check");
        request.getSession().setAttribute("check",check);
        return "redirect:/teacher/homework_release";
    }

    @RequestMapping(value = "homework_release",method = RequestMethod.POST)
    public String homeworkRelease(HttpServletResponse response, HttpServletRequest request,String homeworkName,Integer courseId,Model model){
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("courses",courses);
        String[]  check = (String[]) request.getSession().getAttribute("check");
        request.getSession().removeAttribute("check");
        int result= homeworkManagementService.homeworkRelease(check,homeworkName,courseId);
        if (result==0) {
            model.addAttribute("msg", "发布失败");
            return "/teacher/release_homework";
        }
        model.addAttribute("msg", "发布成功");
        return "/teacher/release_homework";
    }

    @RequestMapping(value = "show_homework",method = RequestMethod.GET)
    public String showHomework(Model model){
        List<Course> courses=homeworkManagementService.selectAllCourse();
        List<HomeworkRelease> homeworkReleases=homeworkManagementService.selectAllHomeworkRelease();
        model.addAttribute("hmreleases",homeworkReleases);
        model.addAttribute("courses",courses);
        return "/teacher/show_homework";
    }

    @RequestMapping(value = "show_homework_bycourseid",method = RequestMethod.POST)
    public String showHomeworkByCourseId(Model model,Integer courseId,String startTime,String endTime){
        if (courseId==0&&startTime.equals("")&&endTime.equals(""))
            return "redirect:/teacher/show_homework";
        List<HomeworkRelease> homeworkReleases=homeworkManagementService.selectAllHomeworkReleaseByCourseId(courseId,startTime,endTime);
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("hmreleases",homeworkReleases);
        model.addAttribute("courses",courses);
        return "/teacher/show_homework";
    }

    @RequestMapping(value = "edit_homework_bypage",method = RequestMethod.GET)
    public String selectAllCourse(Model model, Page page, @Nullable Integer courseId, HttpSession session){
        if (courseId!=null&&courseId==0){
            if (session.getAttribute("courseId")!=null)
            session.removeAttribute("courseId");
            return "redirect:/teacher/edit_homework_bypage";
        }
        if (page.getPageNum()==0)
            page.setPageNum(1);
        Integer cid=null;
        if (session.getAttribute("courseId")!=null)
            cid=(Integer) session.getAttribute("courseId");
        if (courseId==null && cid==null){
        PageHelper.startPage(page.getPageNum(),8);
        List<Homework> exercises=homeworkManagementService.selectAllHomework();
        List<Course> courses=homeworkManagementService.selectAllCourse();
        PageInfo pageInfo=new PageInfo(exercises);
        model.addAttribute("pageInfo",pageInfo);
        model.addAttribute("courses",courses);
        model.addAttribute("exercises",exercises);
        return "/teacher/edit_homework";
        }

        if (session.getAttribute("courseId")==null)
            session.setAttribute("courseId",courseId);
        if (courseId!=null&&!courseId.equals(session.getAttribute("courseId"))){
            session.removeAttribute("courseId");
            session.setAttribute("courseId",courseId);
        }
        PageHelper.startPage(page.getPageNum(),8);
        List<Homework> exercises=homeworkManagementService.selectHomeworkByCourseId((Integer) session.getAttribute("courseId"));
        List<Course> courses=homeworkManagementService.selectAllCourse();
        PageInfo pageInfo=new PageInfo(exercises);
        model.addAttribute("pageInfo",pageInfo);
        model.addAttribute("courses",courses);
        model.addAttribute("exercises",exercises);
        return "/teacher/edit_homework";

    }

    @RequestMapping(value = "add_homework",method = RequestMethod.GET)
    public String showaddHomework(Model model){
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("courses",courses);
        return "teacher/add_homework";
    }

    @RequestMapping(value = "add_homework",method = RequestMethod.POST)
    public String addHomework(Model model,Homework homework){
        int result=homeworkManagementService.insertHomework(homework);
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("courses",courses);
        if (result==0){
            model.addAttribute("msg","添加失败");
        }else {
            model.addAttribute("msg","添加成功");
        }
        return "teacher/add_homework";
    }

    @RequestMapping(value = "update_homework",method = RequestMethod.GET)
    public String toUpdateHomework(Model model,Integer id){
        Homework homework=homeworkManagementService.selectHomeworkById(id);
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("courses",courses);
        model.addAttribute("homework",homework);
        return "teacher/update_homework";
    }

    @RequestMapping(value = "update_homework",method = RequestMethod.POST)
    public String updateHomework(Model model,Homework homework){
        int result=homeworkManagementService.updateHomework(homework);
        List<Course> courses=homeworkManagementService.selectAllCourse();
        model.addAttribute("courses",courses);
        if (result==0){
            model.addAttribute("msg","修改失败");
        }else {
            model.addAttribute("msg","修改成功");
        }
        return "teacher/update_homework";
    }


    @RequestMapping(value = "delete_homework/{id}/{pageNum}",method = RequestMethod.GET)
    public String deleteStudent(@PathVariable(name = "id")int id,@PathVariable(name = "pageNum")int pageNum,RedirectAttributes model){
        int result=homeworkManagementService.deleteHomework(id);
        if (result == 0){
            model.addAttribute("msg","删除失败");
        }else {
            model.addAttribute("msg", "删除成功");
        }
        return "redirect:/teacher/edit_homework_bypage"+"?pageNum="+pageNum;
    }

    @RequestMapping(value = "detail_homework/{courseId}/{homeworkReleaseId}",method = RequestMethod.GET)
    public String showDetailStudent(Model model,@PathVariable(name = "courseId")Integer courseId,@PathVariable(name = "homeworkReleaseId")Integer homeworkReleaseId){
        List<StudentCourse> studentCourses=homeworkManagementService.selectStudentByCourseId(courseId);
        List<StudentAnswer> studentAnswers=homeworkManagementService.selectAnswerByStudentId(studentCourses,homeworkReleaseId);
        model.addAttribute("studentAnswers",studentAnswers);
        return "/teacher/detail_homework";
    }


}

七、如果也想学习本系统,下面领取。关注并回复:078sb

需求明细 1. 登录与注册功能 (1) 学生注册与登录,教师统一由管理员创建。教师不可以更改学生信息。只能查看当前班课中的学生信息。学生信息与教师信息可以由管理员统一管理,也可以自行修改。 (2) 打开系统主页是登录页面,根据用户身份进行登录,进入到不同的页面。 2. 学生角色 (1) 学生可以修改自己的信息以及加入到对应的课程中进行作业提交与修改。提交作业时,给定两种状态,一种是可修改状态,当前状态下可以修改自己提交的作业。一种是最终提交状态,不可修改。只能等待教师打分。 (2) 学生提交作业方式为文本提交,以学号+姓名方式进行提交。 (3) 学生提交完成作业之后,教师审阅评定之后,可以在作业历史中查看自己每次的作业评分以及所属等级。 (4) 学生可以通过查询加入课程进行作业提交,也可以通过主页浏览找到课程加入。 3. 教师角色 (1) 教师可以发布自己的作业,设定提交时间段,超出规定时间段时学生无法再提交作业。发布好自己的作业时,告知学生当前作业课程编号,以供学生加入。 (2) 对学生提交的作业进行打分。设定分数段为0~100分。60以下不及格,85以下良好,85以上为优秀(不含85) 4. 管理员角色 (1) 统一管理学生与教师信息、作业信息等 5. 作业提交管理 (1) 在系统主页中显示所有作业内容(做分页处理,比如每页显示10个作业课程内容。),对正在进行的作业和历史作业进行分类。 (2) 正在进行的作业为绿色提示标签,已经结束的为红色标签。 (3) 提供搜索框,根据设定,开发者可以选择让用户搜索课程代号或者课程名称得到查询结果。如果是课程名搜索,那么应当是模糊搜索。显示N个搜索内容,并以分页显示。 系统:MySQL数据库,JDK1.7以上,Eclispe、MyEclipse、idea,框架采用SSM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值