Java项目:校园运动会管理系统(java+JSP+Servlet+JavaBean+Mysql)

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

项目介绍


本项目包含三种角色:运动员、裁判员、管理员;

运动员角色包含以下功能:

运动员登录,个人信息修改,运动成绩查询,比赛项目查询等功能。

裁判员角色包含以下功能:
登录界面,查看运动员,运动成绩查看,录入运动成绩,比赛项目查询等功能。

管理员角色包含以下功能:
登录页面,管理员首页,运动员管理,裁判员管理,运动成绩查询,比赛类型管理等功能。


环境需要

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


技术栈

JSP+Servlet+JavaBean+MySQL+css+javascript

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中src/util/DB.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/jspyundonghuimanager/ 登录
注:tomcat中配置项目路径必须为jspyundonghuimanager,否则会有异常
管理员账号/密码:admin/admin
学生运动员角色账号/密码:student/123456
裁判老师角色账号/密码:teacher/123456

 

 

 

 

 

运动成绩管理控制层:

@Controller
public class StuSportsController {

    @Autowired
    private SportsService sportsService;
    @Autowired
    private RefereeService refereeService;
    @Autowired
    private StudentService studentService;
    @Autowired
    GradeService gradeService;
    @Autowired
    CeremonyService ceremonyService;

    //分页显示运动项目
    @RequestMapping("/student/getSports/{pn}")
    public String getStuWithJson(@PathVariable(value = "pn") Integer pn, Model model, HttpServletRequest request){
        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 "student/sports-list-stu";
    }

    String sportsName;
    String sportsType;
    //分页显示运动项目----带条件
    @RequestMapping("/student/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 "student/sports-list-stu";

    }

    //去显示成绩页面
    @RequestMapping("/student/toGetScore")
    public String toGetScore(Model model){
        //将项目名称返回
        List list = sportsService.querySports();
        model.addAttribute("list",list);
        //一加载页面默认查出一个项目的成绩
        List scoreDefault = gradeService.selectWithStuAndSportsDefault();
        //System.out.println(scoreDefault);
        model.addAttribute("scoreDefault",scoreDefault);
        return "student/scorelist-byOne";
    }

    //显示单项目成绩
    @RequestMapping("/student/getScoreBySportsName")
    public String getScoreBySportsName(@RequestParam("sportsId") Integer sportsId,Model model ){
        //将项目名称返回
        List list = sportsService.querySports();
        model.addAttribute("list",list);
        //将sportsId返回
        model.addAttribute("sportsId",sportsId);
        //System.out.println(sportsId);
        List scoreList = gradeService.selectWithStuAndSports(sportsId);
        model.addAttribute("scoreDefault",scoreList);
        return "student/scorelist-byOne";
    }

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

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

    //分页显示个人成绩
    @RequestMapping("/student/toPersonalScore/{pn}")
    public String getScoreBySchool(@PathVariable(value = "pn") Integer pn, Model model, HttpServletRequest request){

        //startPage后面紧跟的这个查询就是一个分页查询
        List school1 = studentService.querySchool();
        model.addAttribute("schoolName",school1);

        PageHelper.startPage(pn,5);
        List scoreBySchool = gradeService.getScoreBySchool();
        //System.out.println(scoreBySchool);
        PageInfo page=new PageInfo(scoreBySchool,5);
        //System.out.println(page);
        model.addAttribute("pageInfo",page);
        model.addAttribute("sign","getSports");
        return "admin/scoreAllBySchool";
    }

    String school;
    String gender;
    //分页显示个人成绩----带条件
    @RequestMapping("/student/getScoreBySchoolWithCondition/{pn}")
    public String getScoreBySchoolWithCondition(@RequestParam(value = "school",required = false)String school,
                                           @RequestParam(value = "gender",required = false)String gender,
                                           @PathVariable(value = "pn") Integer pn,
                                           Model model){
        if(school!=null||gender!=null) {
            this.school = school;
            this.gender = gender;
        }
//        System.out.println(this.id+"-->"+this.gender+"-->"+this.school);
        List school1 = studentService.querySchool();
        model.addAttribute("schoolName",school1);

        model.addAttribute("school",this.school);
        model.addAttribute("gender",this.gender);

        PageHelper.startPage(pn,5);
        List score = gradeService.getScoreBySchoolWithCondition(this.school, this.gender);
        PageInfo page=new PageInfo(score,5);
        model.addAttribute("pageInfo",page);
        model.addAttribute("sign","querySportsWithCondition");
        return "admin/scoreAllBySchool";

    }
}

运动项目管理控制层:

@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","该学生已存在成绩,请不要重复录入!");
        }
    }



}

学生管理控制层:

@Controller
public class StudentController {

    @Autowired
    private StudentService studentService;

   // @RequestMapping("/admin/getStu")
    public String getStu(Model model){
        Collection<Student> list = studentService.queryStu();
        model.addAttribute("students",list);
        return "admin/student-list";
    }

    //分页显示学生
    @RequestMapping("/admin/getStu/{pn}")
    public String getStuWithJson(@PathVariable(value = "pn") Integer pn,Model model){
        //这不是分页查询
        //引入PageHelper分页插件
        //在查询之前只需要调用,传入页码,以及每页的大小
        PageHelper.startPage(pn,5);
        //startPage后面紧跟的这个查询就是一个分页查询
        List<Student> students=studentService.queryStu();
        List schooltype = studentService.querySchool();
//        System.out.println(school);
        model.addAttribute("schooltype",schooltype);
        //使用PageInfo包装查询后的结果,只需要将page交给页面就行了
        //封装了详细的分页信息,包括我们查询出来的数据,传入连续显示的页数
        PageInfo page=new PageInfo(students,5);
        //System.out.println(page);
        model.addAttribute("pageInfo",page);
        model.addAttribute("sign","getStu");
        return "admin/student-list";
    }

    Integer id;
    String gender;
    String school;
    //分页显示学生----带条件
    @RequestMapping("/admin/queryStuWithCondition/{pn}")
    public String queryStuWithCondition(@RequestParam(value = "school",required = false)String school,
                                        @RequestParam(value = "gender",required = false)String gender,
                                        @RequestParam(value = "id",required = false)Integer id,
                                        @PathVariable(value = "pn") Integer pn,
                                        Model model){
        //System.out.println(id+"-->"+gender+"-->"+school);
        if(id!=null||gender!=null||school!=null) {
            this.id = id;
            this.gender = gender;
            this.school = school;
        }
//        System.out.println(this.id+"-->"+this.gender+"-->"+this.school);
        List schooltype = studentService.querySchool();
//        System.out.println(school);
        model.addAttribute("schooltype",schooltype);
        model.addAttribute("id",this.id);
        model.addAttribute("school",this.school);
        model.addAttribute("gender",this.gender);

        if(this.id==null){
            PageHelper.startPage(pn,5);
            List<Student> students=studentService.queryStuWithCondition(this.gender,this.school);
            PageInfo page=new PageInfo(students,5);
            model.addAttribute("pageInfo",page);
            model.addAttribute("sign","getStuWithCondition");
            return "admin/student-list";
        }
        else {
            PageHelper.startPage(pn,5);
            List<Student> students=studentService.queryStuWithCondition2(this.id,this.gender,this.school);
            PageInfo page=new PageInfo(students,5);
            model.addAttribute("pageInfo",page);
            model.addAttribute("sign","getStuWithCondition");
            return "admin/student-list";
        }

    }

    //去添加学生页面
    @RequestMapping("/admin/toAdd")
    public String toAdd(){
        return "admin/student-add";
    }


    @PostMapping("/admin/addStu")
    public String addStu(Student student) {
       // System.out.println(student);
        studentService.addStu(student);
        return "redirect:admin/getStu/100";
    }

    //去修改学生页面
    @RequestMapping("/admin/toUpd/{stuId}")
    public String toUpd(@PathVariable("stuId")String stuId,Model model){
        int id=Integer.parseInt(stuId);
        Student student = studentService.queryStuById(id);
        model.addAttribute("student",student);
        return "admin/student-update";
    }

    //修改学生信息
    @RequestMapping("/admin/updStu")
    @ResponseBody
    public Msg updStu(Student student){
       // System.out.println(student);
        studentService.updStu(student);
        return Msg.success();
    }


    @RequestMapping(value = "/admin/delStuById/{stuId}",method = RequestMethod.DELETE)
    public String delStuById(@PathVariable("stuId") String stuId){
        int id=Integer.parseInt(stuId);
        studentService.delStuById(id);
        return "redirect:admin/getStu/1";
    }


}

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

猜你喜欢

转载自blog.csdn.net/yuyecsdn/article/details/125290334