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";
    }


}

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

  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: JSPJava Server Pages),ServletJavaBeanMySQL可以结合使用来开发学生成绩管理系统。 首先,使用JSP来实现学生成绩管理系统的前端界面。JSP允许我们将Java代码嵌入到HTML页面中,方便实现页面的动态内容和交互。我们可以通过JSP创建学生登录界面、学生成绩查询界面、成绩录入界面等等。 其次,使用Servlet来处理前端页面的请求和响应。Servlet是基于Java编写的服务器端程序,可以接受来自前端页面的请求,并对请求进行处理。我们可以创建一个Servlet类用于处理学生登录、查询成绩、录入成绩等操作。通过与JSP的配合,我们可以实现数据的传递和页面的跳转。 还可以使用JavaBean来实现学生和成绩的数据模型。JavaBean是一种Java类,用于封装数据和提供相应的访问方法。我们可以创建一个学生类和成绩类作为JavaBean,用于存储和操作学生和成绩的信息。 最后,使用MySQL数据库来存储学生和成绩的数据。MySQL是一种关系型数据库管理系统,可以方便地存储和查询数据。我们可以创建学生表和成绩表,通过SQL语句将数据存储到数据库中,并使用Java的JDBC API来与MySQL数据库进行连接和操作。 通过以上的整合,我们可以开发一个功能完善的学生成绩管理系统。学生可以通过JSP界面登录系统,查询自己的成绩,并可以录入新的成绩。Servlet可以处理来自前端的请求,并将数据存储到MySQL数据库中。JavaBean提供了数据的封装和操作,方便系统的开发和维护。 ### 回答2: 学生成绩管理系统是一个基于JSPJava Server Pages)、ServletJavaBeanMySQL的系统。它旨在帮助学校或教育机构高效地管理学生成绩。 首先,JSPServlet是基于Java的Web开发技术,可以实现动态网页的设计和交互。通过JSPServlet,我们可以创建一个用户友好的界面,使教师和学生能够方便地访问和管理成绩信息。 其次,JavaBean是一个独立的Java类,用于封装和处理数据。在学生成绩管理系统中,我们可以使用JavaBean来定义学生和课程等对象,以及相关的操作方法。通过JavaBean,我们可以实现对学生成绩的增删改查等功能。 最后,MySQL是一个流行的关系型数据库管理系统。我们可以使用MySQL来存储学生和课程的相关信息,包括姓名、学号、科目、成绩等。通过使用SQL语句,我们可以在系统中执行数据的存储、查询和更新操作,以便教师和学生能够及时获取成绩信息。 学生成绩管理系统的主要功能包括学生信息的录入、成绩的录入与查询、成绩的统计和分析等。教师可以通过系统录入学生信息和各科成绩,并且可以根据需要进行查询和导出。学生可以通过系统查询自己的成绩情况,以及与老师进行交流和反馈。 总之,通过结合JSPServletJavaBeanMySQL等技术,学生成绩管理系统可以提供一个高效、准确和方便的成绩管理平台,为学校和教育机构提供有效的帮助。 ### 回答3: JSPJavaServer Pages),ServletJavaBeanMySQL可以一起用于学生成绩管理系统的开发。 首先,使用MySQL作为数据库管理系统存储学生成绩数据。可以创建一个名为"student"的表格,其中包括学生的学号、姓名和成绩等列,用于存储学生成绩信息。 接下来,使用Servlet作为后端控制器,通过接收和处理来自前端(例如JSP页面)的HTTP请求,与数据库进行交互。可以编写一个Servlet,用于处理学生成绩的增加、修改、删除和查询等操作。例如,在学生信息的增加功能中,Servlet可以从前端接收学生的学号、姓名和成绩等信息,然后将这些信息存储到MySQL数据库的"student"表格中。 针对JSP页面的开发,可以创建一个用于展示成绩管理的页面。例如,可以设计一个用于查询学生成绩的页面,提供一个输入框用于输入学号,点击查询按钮后,JSP页面向Servlet发送HTTP请求,并从数据库中检索对应学号的学生成绩,并将结果显示在页面上。 最后,可以使用JavaBean作为数据传输对象,用于在JSP页面和Servlet之间传递数据。JavaBean是一个轻量级的Java类,其中定义了成员变量和对应的getter和setter方法。在学生成绩管理系统中,可以创建一个JavaBean类,表示学生信息,并且在JSP页面和Servlet中使用它来传递学生的学号、姓名和成绩等数据。 总结而言,JSPServletJavaBeanMySQL可以一起用于学生成绩管理系统的开发。通过Servlet作为后端控制器,与MySQL数据库进行交互,并通过JSP页面来展示和传递数据,最终实现学生信息的管理和查询功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

beyondwild

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

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

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

打赏作者

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

抵扣说明:

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

余额充值