Java项目:简单的教务管理系统(java+SSM+mysql+jsp+maven)

Spring+SpringMVC+Mybatis+Bootstrap+Mysql实现的简单的务务管理系统,这个项目相对教适合学习和手,这个只有后台没有前台页面,项目的所有代码注释,该项目使用包名规范,代码干净,无BUG,所有的功能都经过严格的,这个项目使用到了Maven使用下载jar包,所以运行该项目要配置好maven环境。系统分为三个部分:

管理员、教师和,管理员:课程管理、学院管理、教师管理、管理、修改密码等。教师:批改学生。学生:选课、退课、课等。

运行环境:windows/Linux、jdk1.8、mysql5.7、idea、Maven、Tomcat7.0/8.5微软。

登录控制层:

@Controller
public class LoginController {

    private static final Logger LOGGER = LoggerFactory.getLogger(LoginController.class);


    @Autowired
    AdminService adminService;

    @GetMapping("/cs")
    public String cs() {
        return "cs";
    }


    @GetMapping("/login")
    public String login() {
        return "login";
    }

    @PostMapping("/login")
    @ResponseBody
    public Msg login(String name, String pwd, HttpSession httpSession) {
        name = name.trim();
//        LOGGER.info("{}--{}",name,pwd);
        return adminService.login(name, pwd, httpSession);

    }
}

老师角色控制层:

@Authority(roles = {Role.TEACHER})
@Controller
@RequestMapping("/teacher")
public class TeacherController {

    @Autowired
    TeacherService teacherService;

    @Autowired
    SubjectService subjectService;

    @RequestMapping(value = {"", "/loginPage"})
    public String loginPage() {
        return "teacher/login";
    }

    @GetMapping("/index")
    public String homePage() {
        return "teacher/public-teacher-index";
    }

    @GetMapping("/updatePwd")
    public String updatePwd() {
        return "teacher/teacherInfo/updatePwd";
    }

    @GetMapping("/teacherInfo")
    public String teacherInfo() {
        return "teacher/teacherInfo/teacherinfo";
    }

    @GetMapping("/modifyinfo")
    public String modifyInfo() {
        return "teacher/teacherInfo/updateinfo";
    }

    @GetMapping("/workapprovalinfo")
    public String workInfo() {
        return "teacher/workapproval/winfo";
    }

    @GetMapping("/workapprovaldata")
    public String workData() {
        return "teacher/workapproval/wdata";
    }

    @GetMapping("/seeworkdata")
    public String seeWorkData() {
        return "teacher/workapproval/seewdata";
    }

    //填写表格页面
    @GetMapping("/term_debriefing")
    public String termDebriefing() {
        return "teacher/fillouttable/termdebriefing";
    }

    @GetMapping("/year_debriefing")
    public String yearDebriefing() {
        return "teacher/fillouttable/yeardebriefing";
    }

    @GetMapping("/annual_assessment")
    public String annualAssessment() {
        return "teacher/fillouttable/annualassessment";
    }

    @GetMapping("/work_load")
    public String workLoad() {
        return "teacher/fillouttable/workload";
    }

    @GetMapping("/technical_personnel")
    public String technicalPersonnel() {
        return "teacher/fillouttable/technicalpersonnel";
    }

    @GetMapping("/term_business")
    public String termBusiness() {
        return "teacher/fillouttable/termbusiness";
    }

    //查看表格页面
    @GetMapping("/show_year_debriefing")
    public String showYearDebriefing() {
        return "teacher/showtable/yeardebriefing";
    }

    @GetMapping("/show_term_debriefing")
    public String showTermDebriefing() {
        return "teacher/showtable/termdebriefing";
    }

    @GetMapping("/show_annual_assessment")
    public String showAnnualAssessment() {
        return "teacher/showtable/annualassessment";
    }

    @GetMapping("/show_technical_personnel")
    public String showTechnicalPersonnel() {
        return "teacher/showtable/technicalpersonnel";
    }

    @GetMapping("/show_workload")
    public String showWorkLoad() {
        return "teacher/showtable/workload";
    }

    @GetMapping("/exit")
    public String exit(HttpServletResponse response) {
        //将Cookie 中的token 置空
        Cookie cookie = new Cookie("token", null);
        cookie.setPath("/");
        response.addCookie(cookie);
        return "redirect:/";
    }

    //打印页面
    @GetMapping("/print_term_debriefing")
    public String printYearDebriefing(Long year, String term, Model model) {
        model.addAttribute("year", year);
        model.addAttribute("term", term);
        return "teacher/showtable/print/termdebriefing";
    }

    @GetMapping("/print_year_debriefing")
    public String printTermDebriefing(Long year, Model model) {
        model.addAttribute("year", year);
        return "teacher/showtable/print/yeardebriefing";
    }


    @GetMapping("/login")
    @ResponseBody
    public Msg login(String name, String pwd, HttpSession httpSession, HttpServletResponse response) throws ParseException {
        name = name.trim();
        int flag = teacherService.teacherDL(name, pwd);
        if (flag == 200) {
            User user = new User();
            //-1表示为超管
            user.setId(0L);
            user.setRole("teacher");
            user.setUserName(name);
            //生成Token 存到 Cookie
            Cookie cookie = new Cookie("token", TokenUtil.createToken(
                    user
            ));
            //该Cookie无法被js读取
            cookie.setHttpOnly(true);
            cookie.setPath("/");
            response.addCookie(cookie);


            Teacher teacher = teacherService.selectTeacher(name);

            httpSession.setAttribute("teacherInfo", teacher);
            httpSession.setMaxInactiveInterval(3600);
        }
        return Msg.success().add("info", flag);
    }

    //教师信息修改
    //修改教师密码
    @PostMapping("/teacherupdetpwd")
    @ResponseBody
    public Msg fun6(String oldpwd, String newpwd, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        int flag = teacherService.teacherUpdetpwd(teacher.getUsername(), oldpwd, newpwd);
        return Msg.success().add("flag", flag);
    }

    //修改教师信息
    @PostMapping("/teacherupdeteinfo")
    @ResponseBody
    public Msg updateinfo(String name, String gender, HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        teacher.setName(name);
        teacher.setGender(gender);
        teacherService.teacherupdateInfo(teacher);
        return Msg.success();
    }


    //教师出差模块
    //查询所有教师出差申请信息
    @GetMapping("/select_work_all")
    @ResponseBody
    public Msg fun1(HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        List<WorkapprovalWithBLOBs> list = teacherService.selectTeacherWorkAll(teacher.getId());
        return Msg.success().add("workinfo", list);
    }

    //查询申请成功教师出差申请
    @GetMapping("/select_work_success")
    @ResponseBody
    public Msg fun2(HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        List<WorkapprovalWithBLOBs> list = teacherService.selectWorkSuccess(teacher.getId());
        return Msg.success().add("workinfo", list);
    }

    //查询申请失败教师出差申请
    @GetMapping("/select_work_failed")
    @ResponseBody
    public Msg fun3(HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        List<WorkapprovalWithBLOBs> list = teacherService.selectWorkFailed(teacher.getId());
        return Msg.success().add("workinfo", list);
    }

    //查询已提交教师出差申请
    @GetMapping("/select_work_submitted")
    @ResponseBody
    public Msg fun4(HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        List<WorkapprovalWithBLOBs> list = teacherService.selectWorkSubmitted(teacher.getId());
        return Msg.success().add("workinfo", list);
    }

    //删除申请失败的教师出差
    @PostMapping("/delete_work")
    @ResponseBody
    public Msg deleteWork(Long id) {
        teacherService.deleteWorkById(id);
        return Msg.success();
    }

    //加载报告填写页面
    @GetMapping("/fillworkapproval")
    public String fun5(Long id, Model model) throws ParseException {
        WorkapprovalWithBLOBs workapproval = teacherService.s
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值