基于javaweb的SSM大学运动场地管理(java+ssm+jsp+js+jquery+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

171424010701

181424010701

191424010701

201424010701

211424010701

221424010701

231424010701

基于javaweb的SSM大学运动场地管理(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(606024);

// cookie2.setMaxAge(606024);

// 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(606024);

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


项目链接:
https://javayms.github.io?id=031524180701201hm
https://javayms.pages.dev?id=031524180701201hm