作者主页:源码空间站2022
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
赛事评分系统,SSM框架。该项目分管理员、裁判、选手三个用户角色。
管理员主要功能:
首页、选手管理、裁判管理、赛事管理
裁判主要功能:
首页、评分;
选手主要功能:
首页、报名赛事、查看成绩;
环境需要
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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
7.lombok插件 注:必须安装,否则会报错
技术栈
1. 后端:Spring SpringMVC MyBatis
2. 前端:Layui
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中database.properties配置文件中的数据库配置改为自己的配置;
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,输入localhost:8080/xxx 登录
运行截图
相关代码
JudgeController
package com.thunder.controller;
import com.alibaba.fastjson.JSONObject;
import com.thunder.pojo.Judge;
import com.thunder.pojo.Mark;
import com.thunder.pojo.Match;
import com.thunder.pojo.User;
import com.thunder.service.impl.JudgeServiceImpl;
import com.thunder.service.impl.LoginServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Date;
import java.util.Map;
@Controller
@RequestMapping("/judge")
public class JudgeController {
@Autowired
JudgeServiceImpl judgeService;
@Autowired
LoginServiceImpl loginService;
/**
* 跳转 裁判页面
*/
@RequestMapping("/toJudgePage")
public String toJudgePage() {
return "/pages/judge";
}
/**
* 跳转 评分
*/
@RequestMapping("/toMark")
public String toMark() {
return "/pages/judgeMarkPlayer";
}
/**
* 获取所有裁判
*/
@RequestMapping(value = "/getAllJudge", produces = "application/json;charset=UTF-8")
@ResponseBody
public String getAllJudge() {
//阿里巴巴的json数据格式交互
JSONObject object = new JSONObject();
object.put("code", 200);//原来是 code : 0
object.put("msg", "");
object.put("data", judgeService.getAllJudge());
object.put("count", judgeService.getAllJudge().size());
System.out.println("数据库数据:" + judgeService.getAllJudge().toString());
return object.toJSONString();
}
/**
* 根异步请求 删除裁判
*/
@RequestMapping("/deleteJudgeById")
@ResponseBody
public String deleteJudgeById(@RequestParam Map map) {
String currentJudge = (String) map.get("index");
int result = judgeService.deleteJudgeById(currentJudge);
if (result > 0) {
return "1";
} else {
return "error";
}
}
//添加 裁判
@RequestMapping("/addJudgeAjax")
@ResponseBody
public String addJudgeAjax(@RequestParam Map map) {
System.out.println(map);
String jid = (String) map.get("jid");
String jname = (String) map.get("jname");
String jage = (String) map.get("jage");
String jsex = (String) map.get("jsex");
System.out.println(jid + " " + jname + " " + jage + " " + jsex);
//判断裁判、选手 写入 user表
if (jid.contains("P")) {
System.out.println("注册选手");
int registerPlayer = loginService.addUser(new User(jid, password));
if (registerPlayer > 0) {
System.out.println("注册选手成功!");
}
} else if (jid.contains("J")) {
System.out.println("注册裁判");
int registerPlayer = loginService.addUser(new User(jid, password));
if (registerPlayer > 0) {
System.out.println("注册裁判成功!");
}
} else if (jid.equals("admin")) {
System.out.println("管理员");
} else {
}
//添加 裁判
int result = judgeService.addJudgeAjax(new Judge(jid, jname, jage, jsex));
if (result > 0) {
return "1";
} else {
return "error";
}
}
//裁判打分
@RequestMapping("/mark")
@ResponseBody
public String mark(@RequestParam Map map) {
System.out.println("进入 后台 ==== 打分");
String pid = (String) map.get("pid");
String item = (String) map.get("mid");
String jid = (String) map.get("jid");
String score = (String) map.get("score");
System.out.println("分数是:" + score + item + jid + pid);
int result = judgeService.mark(new Mark(score, item, jid, pid));
if (result > 0) {
return "1";
} else {
return "error";
}
}
}
LoginController
package com.thunder.controller;
import com.thunder.pojo.User;
import com.thunder.service.impl.JudgeServiceImpl;
import com.thunder.service.impl.LoginServiceImpl;
import com.thunder.service.impl.PlayServiceImpl;
import com.thunder.util.CurrentUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSession;
import java.util.Map;
@Controller
public class LoginController {
@Autowired
LoginServiceImpl loginService;
@Autowired
JudgeServiceImpl judgeService;
@Autowired
PlayServiceImpl playService;
/**
* 登录验证
*/
@RequestMapping(value = "/login", produces = "application/json;charset=UTF-8")
@ResponseBody
public String Login(@RequestParam Map user, HttpSession session) {
String account = (String) user.get("account");
String password = (String) user.get("password");
if (account.contains("P")) {
System.out.println("选手登录");
if (LoginRoute(account, password, session).equals("1")) {
return "选手登录";
} else {
return "error";
}
} else if (account.contains("J")) {
System.out.println("裁判登录");
if (LoginRoute(account, password, session).equals("1")) {
return "裁判登录";
} else {
return "error";
}
} else if (account.equals("admin")) {
System.out.println("管理员登录");
if (LoginRoute(account, password, session).equals("1")) {
return "admin";
} else {
return "error";
}
} else {
return "error";
}
}
//判断用户
public String LoginRoute(String account, String password, HttpSession session) {
User loginUser = loginService.getUser(account);
if (loginUser != null) {
if (!loginUser.getPwd().equals(password)) {
return "error";
} else {
session.setAttribute(CurrentUser.CURRENT_USER, loginUser);
System.out.println("session放入" + loginUser.getAccount());
return "1";
}
} else {
return "error";
}
}
/**
* 注册用户
*/
@RequestMapping("/register")
@ResponseBody
public String Register(@RequestParam Map user) {
String loginuser = (String) user.get("user");
String password = (String) user.get("pwd");
System.out.println(user.get("user"));
System.out.println(user.get("pwd"));
User newUser = new User((String) user.get("user"), (String) user.get("pwd"));
int result = loginService.addUser(newUser);
//添加成功 返回 大于0
if (result > 0) {
return "1";
} else {
return "error";
}
}
/**
* 判断 注册用户 是否存在数据库中 ajax
*/
@RequestMapping("/registerAccount")
@ResponseBody
public String registerAccount(@RequestParam Map user) {
System.out.println("当前新增用户:" + user.get("user"));
String newUser = (String) user.get("user");
User userNewUser = loginService.getUser(newUser);
if (userNewUser != null) {
return "error";
} else {
return "1";
}
}
/**
* 去往主页面
*/
@RequestMapping("/toMain")
public String toMain() {
return "pages/main";
}
/**
* 退出登录
*/
@RequestMapping("/exitLogin")
public String exitLogin(HttpSession session) {
session.removeAttribute(CurrentUser.CURRENT_USER);
//session.invalidate();
if (session == null) {
System.out.println("当前用户:" + session.getAttribute(CurrentUser.CURRENT_USER));
return "redirect:/login.jsp";
} else {
System.out.println("当前用户:" + session.getAttribute(CurrentUser.CURRENT_USER));
return "redirect:/login.jsp";
}
}
}
MatchController
package com.thunder.controller;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.thunder.pojo.Match;
import com.thunder.pojo.SignUp;
import com.thunder.service.impl.MatchServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/match")
public class MatchController {
@Autowired
MatchServiceImpl matchService;
/**
* 跳转到 赛事界面
*/
@RequestMapping("/toMatchPage")
public String toMatchPage() {
return "/pages/match";
}
/**
* 获取所有赛事 admin页面展示
*/
@RequestMapping(value = "/getAllMatch", produces = "application/json;charset=UTF-8")
@ResponseBody
public String getAllMatch() {
//阿里巴巴的json数据格式交互
JSONObject object = new JSONObject();
object.put("code", 200);//原来是 code : 0
object.put("msg", "");
object.put("data", matchService.getAllMatch());
object.put("count", matchService.getAllMatch().size());
System.out.println("数据库数据:" + matchService.getAllMatch().toString());
return object.toJSONString();
}
/**
* 获取赛事 ajax 下拉列表
*/
@RequestMapping(value = "/getAllMatchAjax", produces = "application/json;charset=UTF-8")
@ResponseBody
public String getAllMatchAjax() {
List<Match> allMatch = matchService.getAllMatch();
JSONArray array = JSONArray.parseArray(JSON.toJSONString(allMatch));
System.out.println(array.toJSONString());
return array.toJSONString();
}
/**
* 删除操作 异步请求
*/
@RequestMapping("/deleteMatchById")
@ResponseBody
public String deleteMatchById(@RequestParam Map map) {
int currentMatchId = Integer.parseInt((String) map.get("index"));
int result = matchService.deleteMatchById(currentMatchId);
if (result > 0) {
return "1";
} else {
return "error";
}
}
/**
* 添加赛事
*/
@RequestMapping(value = "/addMatchAjax", produces = "application/json;charset=UTF-8")
@ResponseBody
public String addMatchAjax(@RequestParam Map map) {
//System.out.println(map);
String mid = (String) map.get("mid");
String mname = (String) map.get("mname");
String mtime = (String) map.get("mtime");
DateTime parseDate = DateUtil.parse(mtime, "yyyy-MM-dd");
java.sql.Date mtimeDate = new java.sql.Date(parseDate.getTime());
System.out.println("类型" + mtimeDate.getClass().getName());
System.out.println("mid=" + mid + "mname=" + mname + "mtime=" + mtimeDate);
int result = matchService.addMatchAjax(new Match(mid, mname, mtimeDate));
if (result > 0) {
return "1";
} else {
return "error";
}
}
//选手报名赛事
@RequestMapping(value = "/signInMatch", produces = "application/json;charset=UTF-8")
@ResponseBody
public String signInMatch(@RequestParam Map map) {
System.out.println(map);
String pid = (String) map.get("pid");
String saishi = (String) map.get("saishi");
String properties = (String) map.get("properties");
System.out.println("pid " + pid + " saishi:" + saishi + "性质:" + properties);
int result = matchService.signInMatch(new SignUp(pid, saishi, properties));
if (result > 0) {
return "1";
} else {
return "error";
}
}
/***
*查看已报名
*/
@RequestMapping(value = "/alreadySignIn", produces = "application/json;charset=UTF-8")
@ResponseBody
public String alreadySignIn(@RequestParam Map map) {
JSONObject object = new JSONObject();
String pid = (String) map.get("pid");
System.out.println("选手:" + pid + "选择的赛事");
List<SignUp> signUpList = matchService.alreadySignIn(pid);
object.put("code", 200);//原来是 code : 0
object.put("msg", "");
object.put("data", signUpList);
object.put("count", signUpList.size());
System.out.println("已报名:" + signUpList);
return object.toJSONString();
}
}
如果也想学习本系统,下面领取。关注并回复:034ssm