——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于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配置文件中的数据库配置改为自己的配置;
——————————CodeStart——————————
登录管理控制层:
@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
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
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
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”,”该学生已存在成绩,请不要重复录入!”);
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=031524180701201hm
https://javayms.pages.dev?id=031524180701201hm