作者主页:源码空间站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 登录
- 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";
- }
- }
-
-
- }
- 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";
- }
-
- }
-
-
- }
- 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
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
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