Java项目:大学运动场地管理(java+SSM+JSP+JS+JQUERY+Layui+Mysql)

 源码获取:俺的博客首页 "资源" 里下载!

项目介绍

基于SSM的大学运动场地管理

角色:管理员、用户

大学运动场地管理系统,在平台首页可以查看首页、场地信息、器材信息、系统简介、新闻通知、个人中心、后台管理等内容

用户:用户登录进入大学运动场地管理系统后台可以对主页、个人中心、场地预约管理、器材借用管理等功能进行相应操作

管理员:管理员登录系统后,可以对主页、个人中心、用户管理、场地信息管理、场地预约管理、器材信息管理、器材借用管理、系统简介管理、器材分类管理、系统管理等功能进行相应的操作管理


环境需要

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项目:是;


技术栈

后端:SSM(Spring+SpringMVC+Mybatis)

前端:JSP+CSS+JS+JQUERY+Layui


使用说明

项目运行:
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

 

 

 

登录管理控制层:

@Controller
public class LoginController {

    @Autowired
    DefaultKaptcha defaultKaptcha;

    @Autowired
    StudentService studentService;

    @Autowired
    AdminService adminService;


//    @RequestMapping("/login.html")
//    public String login(){
//        return "login";
//    }


    //获取验证码
    @RequestMapping("/getCode")
    public void defaultKaptcha(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception{
        byte[] captchaChallengeAsJpeg = null;
        ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
        try {
            //生产验证码字符串并保存到session中
            String createText = defaultKaptcha.createText();
            httpServletRequest.getSession().setAttribute("vrifyCode", createText);
            //使用生产的验证码字符串返回一个BufferedImage对象并转为byte写入到byte数组中
            BufferedImage challenge = defaultKaptcha.createImage(createText);
            ImageIO.write(challenge, "jpg", jpegOutputStream);
        } catch (IllegalArgumentException e) {
            httpServletResponse.sendError(HttpServletResponse.SC_NOT_FOUND);
            return;
        }
        //定义response输出类型为image/jpeg类型,使用response输出流输出图片的byte数组
        captchaChallengeAsJpeg = jpegOutputStream.toByteArray();
        httpServletResponse.setHeader("Cache-Control", "no-store");
        httpServletResponse.setHeader("Pragma", "no-cache");
        httpServletResponse.setDateHeader("Expires", 0);
        httpServletResponse.setContentType("image/jpeg");
        ServletOutputStream responseOutputStream =
                httpServletResponse.getOutputStream();
        responseOutputStream.write(captchaChallengeAsJpeg);
        responseOutputStream.flush();
        responseOutputStream.close();
    }

    //验证码验证
    @RequestMapping("/login")
    public String login(@RequestParam("id")Integer id,
                        @RequestParam("password") String password,
                        @RequestParam("userType") String userType,
                        HttpServletRequest request,
                        HttpServletResponse response,
                        HttpSession session,
                        Model model) {
        //获取session域中验证码
        String captchaId = (String) request.getSession().getAttribute("vrifyCode");
//        System.out.println(captchaId.toLowerCase());
        //获取用户填写的验证码
        String parameter = request.getParameter("code");
//        System.out.println(parameter.toLowerCase());

//        String value1="";
//        String value2="";
//        Cookie cookie1=new Cookie("id",id+"");
//        Cookie cookie2=new Cookie("password",password);
//        cookie1.setMaxAge(60*60*24);
//        cookie2.setMaxAge(60*60*24);
//        response.addCookie(cookie1);
//        response.addCookie(cookie2);

        if ("1".equals(userType)) {
            Admin admin = adminService.queryAdminById(id);
            if (captchaId.toLowerCase().equals(parameter.toLowerCase())) {
                if (admin != null && password.equals(admin.getAdminPassword())) {
                    //用户存在,登录成功
                    session.setAttribute("admin", admin);
                    return "redirect:admin/index.html";
                } else {
                    model.addAttribute("msg", "用户名或者密码错误!");
                    model.addAttribute("id",id);
                    model.addAttribute("userType",userType);
                    return "login.html";
                }
            }
            else {
                //验证码错误
                model.addAttribute("msg", "验证码错误!");
//                Cookie[] cookies=request.getCookies();
//                for(Cookie cookie:cookies){
//                    if("id".equals(cookie.getName())){
//                         value1 = cookie.getValue();
//                    }
//                    if("password".equals(cookie.getName())){
//                        value2 = cookie.getValue();
//                    }
//                }
//                model.addAttribute("id",value1);
//                model.addAttribute("password",value2);
                model.addAttribute("id",id);
                model.addAttribute("password",password);
                model.addAttribute("userType",userType);

                return "login.html";
            }

        }
        else {
            Student student = studentService.queryStuById(id);

            if (captchaId.toLowerCase().equals(parameter.toLowerCase())) {
                if (student != null && password.equals(student.getPassword())) {
                    //用户存在,登录成功
                    session.setAttribute("student", student);
                    Cookie cookie1=new Cookie("id",student.getId()+"");
                    cookie1.setMaxAge(60*60*24);
                    response.addCookie(cookie1);
                    return "redirect:student/index-stu.html";
                } else {
                    model.addAttribute("msg", "用户名或者密码错误!");
                    model.addAttribute("id",id);
                    model.addAttribute("userType",userType);
                    return "login.html";
                }
            } else {
                //验证码错误
                model.addAttribute("msg", "验证码错误!");
                model.addAttribute("id",id);
                model.addAttribute("password",password);
                model.addAttribute("userType",userType);
                return "login.html";
            }

        }
    }

    @RequestMapping("/admin/logout")
    public String logout(HttpSession session){
        session.invalidate();
        return "redirect:login";
    }

    @RequestMapping("/student/logout")
    public String stuLogout(HttpSession session){
        session.invalidate();
        return "redirect:login";
    }
}

 管理员管理控制层:

@Controller
public class CeremonyController {

    @Autowired
    CeremonyService ceremonyService;

    @Autowired
    AdminService adminService;

    //打开开幕式页面
    @RequestMapping("/admin/toCeremonyOpen")
    public String toCeremonyOpen(Model model){
        CeremonyOpen ceremonyOpen = ceremonyService.getCeremonyOpen();
        //System.out.println(ceremonyOpen);
        model.addAttribute("ceremonyOpen",ceremonyOpen);
        return "admin/ceremony-open";
    }

    //去添加开幕式页面
    @RequestMapping("/admin/toAddCeremonyOpen")
    public String toAddCeremonyOpen(Model model){
        return "admin/ceremonyOpen-add";
    }

    //添加开幕式
    @RequestMapping("/admin/addCeremonyOpen")
    @ResponseBody
    public Msg addCeremonyOpen(CeremonyOpen ceremonyOpen){
        //System.out.println(ceremonyOpen);
        ceremonyService.addCeremonyOpen(ceremonyOpen);
        return Msg.success().add("msg","添加成功");
    }


    //去修改开幕式页面
    @RequestMapping("/admin/toUpdCeremonyOpen/{ceremonyId}")
    public String toUpdCeremonyOpen(@PathVariable("ceremonyId")String ceremonyId, Model model){
        //System.out.println(ceremonyId);
        CeremonyOpen ceremonyOpenById = ceremonyService.getCeremonyOpenById(ceremonyId);
        model.addAttribute("ceremonyOpenById",ceremonyOpenById);
        return "admin/ceremonyOpen-upd";
    }

    //修改开幕式
    @RequestMapping("/admin/updCeremonyOpen")
    @ResponseBody
    public Msg updCeremonyOpen(CeremonyOpen ceremonyOpen){
        //System.out.println(ceremonyOpen);
        ceremonyService.updCeremonyOpen(ceremonyOpen);
        return Msg.success().add("msg","修改成功");
    }
    //删除开幕式
    @RequestMapping(value = "/admin/delCeremony/{ceremonyId}",method = RequestMethod.DELETE)
    @ResponseBody
    public Msg delCeremony(@PathVariable("ceremonyId")String ceremonyId){
        ceremonyService.delCeremonyOpen(ceremonyId);
        return Msg.success().add("msg","删除成功!");
    }


    //打开闭幕式页面
    @RequestMapping("/admin/toCeremonyClose")
    public String toCeremonyClose(Model model){
        CeremonyClose ceremonyClose = ceremonyService.getCeremonyClose();
        //System.out.println(ceremonyOpen);
        model.addAttribute("ceremonyClose",ceremonyClose);
        return "admin/ceremony-close";
    }

    //去添加闭幕式页面
    @RequestMapping("/admin/toAddCeremonyClose")
    public String toAddCeremonyClose(Model model){
        return "admin/ceremonyClose-add";
    }

    //添加闭幕式
    @RequestMapping("/admin/addCeremonyClose")
    @ResponseBody
    public Msg addCeremonyClose(CeremonyClose ceremonyClose){
        //System.out.println(ceremonyOpen);
        ceremonyService.addCeremonyClose(ceremonyClose);
        return Msg.success().add("msg","添加成功");
    }


    //去修改闭幕式页面
    @RequestMapping("/admin/toUpdCeremonyClose/{ceremonyId}")
    public String toUpdCeremonyClose(@PathVariable("ceremonyId")String ceremonyId, Model model){
        //System.out.println(ceremonyId);
        CeremonyClose ceremonyCloseById = ceremonyService.getCeremonyCloseById(ceremonyId);
        model.addAttribute("ceremonyCloseById",ceremonyCloseById);
        return "admin/ceremonyClose-upd";
    }

    //修改闭幕式
    @RequestMapping("/admin/updCeremonyClose")
    @ResponseBody
    public Msg updCeremonyOpen(CeremonyClose ceremonyClose){
        //System.out.println(ceremonyOpen);
        ceremonyService.updCeremonyClose(ceremonyClose);
        return Msg.success().add("msg","修改成功");
    }
    //删除闭幕式
    @RequestMapping(value = "/admin/delCeremonyClose/{ceremonyId}",method = RequestMethod.DELETE)
    @ResponseBody
    public Msg delCeremonyClose(@PathVariable("ceremonyId")String ceremonyId){
        ceremonyService.delCeremonyClose(ceremonyId);
        return Msg.success().add("msg","删除成功!");
    }

    //查看管理员资料
    @RequestMapping("/admin/toGetAdmin/{adminId}")
    public String toGetAdmin(@PathVariable("adminId")Integer adminId,Model model){
        //System.out.println(adminId);
        Admin admin = adminService.queryAdminById(adminId);
        model.addAttribute("admin",admin);
        return "admin/admin-data";
    }

    //修改管理员资料
    @RequestMapping("/admin/updAdmin")
    @ResponseBody
    public Msg toGetAdmin(   @RequestParam("adminId")Integer adminId,
                             @RequestParam("adminName")String adminName,
                             @RequestParam("adminGender")String adminGender,
                             @RequestParam("adminAge")Integer adminAge,
                             @RequestParam("adminPhone")String adminPhone,
                             Model model){
        //System.out.println(adminId);
        //System.out.println(adminName+"--"+adminGender+"--"+adminAge+"--"+adminPhone);
        adminService.updAdmin(adminName,adminGender,adminAge,adminPhone,adminId);
        return Msg.success().add("msg","修改成功!");
    }

    //去修改管理员密码界面
    @RequestMapping("/admin/toUpdAdminPass/{adminId}")
    public String toUpdAdminPass(@PathVariable("adminId")Integer adminId,Model model){
        //System.out.println(adminId);
        model.addAttribute("adminId",adminId);
        return "admin/admin-pass-upd";
    }

    //修改管理员密码
    @RequestMapping("/admin/updAdminPass")
    @ResponseBody
    public Msg updAdminPass( @RequestParam("adminId")Integer adminId,
                             @RequestParam("adminPassword")String adminPassword,
                             @RequestParam("adminPassword2")String adminPassword2){
//        System.out.println(adminId+"--"+adminPassword+"--"+adminPassword2);
        adminService.updAdminPass(adminPassword,adminId);
        return Msg.success().add("msg","修改成功!请重新登录");
    }


}

 运动项目管理控制层:

@Controller
public class SportsController {

    @Autowired
    private SportsService sportsService;
    @Autowired
    private RefereeService refereeService;
    @Autowired
    private StudentService studentService;

    //分页显示运动项目
    @RequestMapping("/admin/getSports/{pn}")
    public String getStuWithJson(@PathVariable(value = "pn") Integer pn,Model model){
        PageHelper.startPage(pn,5);
        //startPage后面紧跟的这个查询就是一个分页查询
        List<Sports> sports=sportsService.querySports();
        List sportsName = sportsService.querySportsName();

        model.addAttribute("sports",sports);
        model.addAttribute("sportsName",sportsName);

        PageInfo page=new PageInfo(sports,5);
        //System.out.println(page);
        model.addAttribute("pageInfo",page);
        model.addAttribute("sign","getSports");
        return "admin/sports-list";
    }

    String sportsName;
    String sportsType;
    //分页显示运动项目----带条件
    @RequestMapping("/admin/querySportsWithCondition/{pn}")
    public String querySportsWithCondition(@RequestParam(value = "sportsName",required = false)String sportsName,
                                        @RequestParam(value = "sportsType",required = false)String sportsType,
                                        @PathVariable(value = "pn") Integer pn,
                                        Model model){
        if(sportsName!=null||sportsType!=null) {
            this.sportsName = sportsName;
            this.sportsType = sportsType;
        }
//        System.out.println(this.id+"-->"+this.gender+"-->"+this.school);
        List sportsName1 = sportsService.querySportsName();
        model.addAttribute("sportsName",sportsName1);

        model.addAttribute("sports",this.sportsName);
        model.addAttribute("sportsType",this.sportsType);


        PageHelper.startPage(pn,5);
        List<Sports> sports=sportsService.querySportsWithCondition(this.sportsName,this.sportsType);
        PageInfo page=new PageInfo(sports,5);
        model.addAttribute("pageInfo",page);
        model.addAttribute("sign","querySportsWithCondition");
        return "admin/sports-list";

    }

    //去添加运动项目页面,展示裁判姓名
    @RequestMapping("/admin/toAddSports")
    public String toAdd(Model model) {
        List referee = refereeService.queryReferee();
        model.addAttribute("referee",referee);
        return "admin/sports-add";
    }
    //添加运动项目
    @RequestMapping("/admin/addSports")
    @ResponseBody
    public Msg addStu(Sports sports) {
        //System.out.println(sports);
        sportsService.addSports(sports);
        return Msg.success();
    }

    //去运动项目修改页面
    @RequestMapping("/admin/toUpdSports/{sportsId}")
    public String toUpdSports(@PathVariable("sportsId")Integer sportsId , Model model) {
        Sports sports = sportsService.querySportsById(sportsId);
        model.addAttribute("sports",sports);

        List referee = refereeService.queryReferee();
        model.addAttribute("referee",referee);

        return "admin/sports-update";
    }

    //修改运动项目
    @RequestMapping("/admin/updSports")
    @ResponseBody
    public Msg updSports(Sports sports, Model model) {
        //System.out.println(sports);
        sportsService.updSports(sports);
        return Msg.success().add("msg","修改成功!");
    }

    //删除运动项目
    @RequestMapping(value = "/admin/toDelSports/{sportsId}",method = RequestMethod.DELETE)
    @ResponseBody
    public Msg toDelSports(@PathVariable("sportsId") String sportsId){
        int sportsId2=Integer.parseInt(sportsId);
        sportsService.delSportsById(sportsId2);
        return Msg.success().add("msg","删除成功!");
    }



//     根据类型查询运动项目
//    @RequestMapping(value = "/admin/querySportsByType",method = RequestMethod.GET)
//    @ResponseBody
//    public Msg querySportsByType(@RequestParam("sportsType") String sportsType,
//            Model model) {
//        List list = sportsService.querySportsByType(sportsType);
//        System.out.println(list);
//        model.addAttribute("sports",list);
//        return Msg.success().add("sports",list);
//    }



    //分页显示报名信息
    @RequestMapping("/admin/toEntryForm/{pn}")
    public String toEntryForm(@PathVariable(value = "pn") Integer pn,Model model){
        PageHelper.startPage(pn,5);
        List list = sportsService.entryForm();
        List sportsName = sportsService.querySportsName();
        //System.out.println(list);
        model.addAttribute("list",list);
        model.addAttribute("sportsName",sportsName);
        PageInfo page=new PageInfo(list,5);
        //System.out.println(page);
        model.addAttribute("pageInfo",page);
        model.addAttribute("sign","getSports");
        return "admin/entry-form";
    }

    //分页显示报名信息----带条件
    @RequestMapping("/admin/toEntryFormWithCondition/{pn}")
    public String toEntryFormWithCondition(@RequestParam(value = "sportsName",required = false)String sportsName,
                                           @RequestParam(value = "sportsType",required = false)String sportsType,
                                           @PathVariable(value = "pn") Integer pn,
                                           Model model){
        if(sportsName!=null||sportsType!=null) {
            this.sportsName = sportsName;
            this.sportsType = sportsType;
        }

        List sportsName1 = sportsService.querySportsName();
        model.addAttribute("sportsName",sportsName1);

        model.addAttribute("sports",this.sportsName);
        model.addAttribute("sportsType",this.sportsType);

        PageHelper.startPage(pn,5);
        List<EntryForm> entryForm=sportsService.entryFormWithCondition(this.sportsName,this.sportsType);
        PageInfo page=new PageInfo(entryForm,5);
        model.addAttribute("pageInfo",page);
        model.addAttribute("sign","querySportsWithCondition");
        return "admin/entry-form";

    }

    //去录入成绩页面
    @RequestMapping("/admin/toAddGrade/{idAndsportsId}")
    public String toAddGrade(@PathVariable("idAndsportsId")String idAndsportsId, Model model) {
        //System.out.println(idAndsportsId);
        String[] split = idAndsportsId.split("-");
        int stuId=Integer.parseInt(split[0]);
        int sportsId=Integer.parseInt(split[1]);
        String sportsType=split[2];
        model.addAttribute("stuId",stuId);
        model.addAttribute("sportsIdScore",sportsId);
        model.addAttribute("sportsType",sportsType);
//        List list = sportsService.querySports();
//        model.addAttribute("sports",list);
        return "admin/grade-add";
    }

    //添加成绩
    @RequestMapping("/admin/addGrade")
    @ResponseBody
    public Msg addGrade(SportsScore sportsScore){
        //System.out.println(sportsScore);
        SportsScore stuScore = sportsService.queryStuScore(sportsScore.getStuId(), sportsScore.getSportsIdScore());
        if(stuScore==null) {//没有成绩,可以录入
            sportsService.addGrade(sportsScore);
            return Msg.success().add("msg", "录入成功!");
        }else{
            return Msg.fail().add("msg","该学生已存在成绩,请不要重复录入!");
        }
    }



}

源码获取:俺的博客首页 "资源" 里下载!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq1334611189

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值