源码获取:俺的博客首页 "资源" 里下载!
项目介绍
本项目包含三种角色:运动员、裁判员、管理员;
运动员角色包含以下功能:
运动员登录,个人信息修改,运动成绩查询,比赛项目查询等功能。
裁判员角色包含以下功能:
登录界面,查看运动员,运动成绩查看,录入运动成绩,比赛项目查询等功能。
管理员角色包含以下功能:
登录页面,管理员首页,运动员管理,裁判员管理,运动成绩查询,比赛类型管理等功能。
环境需要
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";
}
}
源码获取:俺的博客首页 "资源" 里下载!