• Java项目:JSP校园运动会管理系统


    作者主页:源码空间站2022

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    本项目包含三种角色:运动员、裁判员、管理员;

    运动员角色包含以下功能:

    运动员登录,个人信息修改,运动成绩查询,比赛项目查询等功能。

    裁判员角色包含以下功能:
    登录界面,查看运动员,运动成绩查看,录入运动成绩,比赛项目查询等功能。

    管理员角色包含以下功能:
    登录页面,管理员首页,运动员管理,裁判员管理,运动成绩查询,比赛类型管理等功能。

    环境需要

    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

    运行截图

    管理员角色

    裁判员角色

    运动员角色

    相关代码 

    Cla2SubImpl

    1. package impl;
    2. import java.sql.Connection;
    3. import java.sql.PreparedStatement;
    4. import java.sql.ResultSet;
    5. import java.sql.SQLException;
    6. import java.util.ArrayList;
    7. import java.util.List;
    8. import util.DB;
    9. import dao.ICla2Sub;
    10. import entity.Cla2Sub;
    11. public class Cla2SubImpl implements ICla2Sub {
    12. private Connection conn;
    13. private PreparedStatement pst;
    14. private ResultSet rs;
    15. public int add(Cla2Sub cla2Sub) {
    16. int i = 0;
    17. try {
    18. conn = DB.getConn();
    19. pst = conn
    20. .prepareStatement("INSERT INTO cla2sub (cla_id,sub_id,tec_id) VALUES (?,?,?)");
    21. pst.setInt(1, cla2Sub.getClasses().getId());
    22. pst.setInt(2, cla2Sub.getSubject().getId());
    23. pst.setInt(3, cla2Sub.getTeacher().getId());
    24. i = pst.executeUpdate();
    25. } catch (Exception e) {
    26. e.printStackTrace();
    27. } finally {
    28. DB.close(conn, pst, rs);
    29. }
    30. return i;
    31. }
    32. public void delete(Cla2Sub cla2Sub) {
    33. try {
    34. conn = DB.getConn();
    35. pst = conn
    36. .prepareStatement("DELETE FROM cla2sub WHERE cla2sub_id = ?");
    37. pst.setInt(1, cla2Sub.getId());
    38. pst.executeUpdate();
    39. } catch (Exception e) {
    40. e.printStackTrace();
    41. } finally {
    42. DB.close(conn, pst, rs);
    43. }
    44. }
    45. public void update(Cla2Sub cla2Sub) {
    46. try {
    47. conn = DB.getConn();
    48. pst = conn
    49. .prepareStatement("UPDATE cla2sub SET cla_id = ?, sub_id = ?,tec_id = ? WHERE cla2sub_id = ?");
    50. pst.setInt(1, cla2Sub.getClasses().getId());
    51. pst.setInt(2, cla2Sub.getSubject().getId());
    52. pst.setInt(3, cla2Sub.getTeacher().getId());
    53. pst.setInt(4, cla2Sub.getId());
    54. pst.executeUpdate();
    55. } catch (Exception e) {
    56. e.printStackTrace();
    57. } finally {
    58. DB.close(conn, pst, rs);
    59. }
    60. }
    61. public Cla2Sub findCla2sub(int cla_id, int tec_id, int sub_id) {
    62. Cla2Sub cla2sub = new Cla2Sub();
    63. try {
    64. conn = DB.getConn();
    65. pst = conn
    66. .prepareStatement("SELECT * FROM cla2sub WHERE sub_id = ? AND cla_id = ? AND tec_id = ? order by cla2sub_id");
    67. pst.setInt(1, sub_id);
    68. pst.setInt(2, cla_id);
    69. pst.setInt(3, tec_id);
    70. rs = pst.executeQuery();
    71. if (rs.next()) {
    72. cla2sub.setId(rs.getInt(1));
    73. cla2sub.setClasses(new ClassesImpl().query("cla_id",
    74. rs.getString(2)).get(0));
    75. cla2sub.setSubject(new SubjectImpl().query("sub_id",
    76. rs.getString(3)).get(0));
    77. }
    78. } catch (SQLException e) {
    79. e.printStackTrace();
    80. }
    81. return cla2sub;
    82. }
    83. public List query(String type, String value) {
    84. List list = new ArrayList();
    85. try {
    86. conn = DB.getConn();
    87. if (type.equals("cla2sub_id")) {
    88. pst = conn
    89. .prepareStatement("SELECT * FROM cla2sub where cla2sub_id = ? order by cla2sub_id");
    90. pst.setString(1, value);
    91. } else if (type.equals("stu_id")) {
    92. pst = conn
    93. .prepareStatement("SELECT * FROM cla2sub WHERE cla_id IN(SELECT cla_id FROM student WHERE stu_id = ?) order by cla2sub_id");
    94. pst.setString(1, value);
    95. } else if (type.equals("cla_id")) {
    96. pst = conn
    97. .prepareStatement("SELECT * FROM cla2sub where cla_id = ? order by cla2sub_id");
    98. pst.setString(1, value);
    99. } else if (type.equals("sub_id")) {
    100. pst = conn
    101. .prepareStatement("SELECT * FROM cla2sub where sub_id = ? order by cla2sub_id");
    102. pst.setString(1, value);
    103. } else if (type.equals("tec_id")) {
    104. pst = conn
    105. .prepareStatement("SELECT * FROM cla2sub where tec_id = ? order by cla2sub_id");
    106. pst.setString(1, value);
    107. } else if (type.equals("sub_name")) {
    108. pst = conn
    109. .prepareStatement("SELECT * FROM cla2sub WHERE sub_id IN(SELECT sub_id FROM `subject` WHERE sub_name LIKE ?) order by cla2sub_id");
    110. pst.setString(1, "%" + value + "%");
    111. } else if (type.equals("cla_name")) {
    112. pst = conn
    113. .prepareStatement("SELECT * FROM cla2sub WHERE cla_id IN(SELECT cla_id FROM classes WHERE cla_name LIKE ?) order by cla2sub_id");
    114. pst.setString(1, "%" + value + "%");
    115. } else {
    116. pst = conn
    117. .prepareStatement("SELECT * FROM cla2sub order by cla2sub_id");
    118. }
    119. rs = pst.executeQuery();
    120. while (rs.next()) {
    121. Cla2Sub cla2Sub = new Cla2Sub();
    122. cla2Sub.setId(rs.getInt(1));
    123. cla2Sub.setClasses(new ClassesImpl().query("cla_id",
    124. rs.getString(2)).get(0));
    125. cla2Sub.setSubject(new SubjectImpl().query("sub_id",
    126. rs.getString(3)).get(0));
    127. cla2Sub.setTeacher(new TeacherImpl().query("tec_id",
    128. rs.getString(4)).get(0));
    129. list.add(cla2Sub);
    130. }
    131. } catch (Exception e) {
    132. e.printStackTrace();
    133. } finally {
    134. DB.close(conn, pst, rs);
    135. }
    136. return list;
    137. }
    138. public List query(String type, String value, int currentPage) {
    139. currentPage = (currentPage - 1) * 10;
    140. List list = new ArrayList();
    141. try {
    142. conn = DB.getConn();
    143. if (type.equals("cla2sub_id")) {
    144. pst = conn
    145. .prepareStatement("SELECT * FROM cla2sub where cla2sub_id = ? order by cla2sub_id limit ?,10");
    146. pst.setString(1, value);
    147. pst.setInt(2, currentPage);
    148. } else if (type.equals("stu_id")) {
    149. pst = conn
    150. .prepareStatement("SELECT * FROM cla2sub WHERE cla_id IN(SELECT cla_id FROM student WHERE stu_id = ?) order by cla2sub_id limit ?,10");
    151. pst.setString(1, value);
    152. pst.setInt(2, currentPage);
    153. }
    154. else if (type.equals("cla_id")) {
    155. pst = conn
    156. .prepareStatement("SELECT * FROM cla2sub where cla_id = ? order by cla2sub_id limit ?,10");
    157. pst.setString(1, value);
    158. pst.setInt(2, currentPage);
    159. } else if (type.equals("sub_id")) {
    160. pst = conn
    161. .prepareStatement("SELECT * FROM cla2sub where sub_id = ? order by cla2sub_id limit ?,10");
    162. pst.setString(1, value);
    163. pst.setInt(2, currentPage);
    164. } else if (type.equals("tec_id")) {
    165. pst = conn
    166. .prepareStatement("SELECT * FROM cla2sub where tec_id = ? order by cla2sub_id limit ?,10");
    167. pst.setString(1, value);
    168. pst.setInt(2, currentPage);
    169. } else if (type.equals("sub_name")) {
    170. pst = conn
    171. .prepareStatement("SELECT * FROM cla2sub WHERE sub_id IN(SELECT sub_id FROM `subject` WHERE sub_name LIKE ?) order by cla2sub_id limit ?,10");
    172. pst.setString(1, "%" + value + "%");
    173. pst.setInt(2, currentPage);
    174. } else if (type.equals("cla_name")) {
    175. pst = conn
    176. .prepareStatement("SELECT * FROM cla2sub WHERE cla_id IN(SELECT cla_id FROM classes WHERE cla_name LIKE ?) order by cla2sub_id limit ?,10");
    177. pst.setString(1, "%" + value + "%");
    178. pst.setInt(2, currentPage);
    179. } else {
    180. pst = conn
    181. .prepareStatement("SELECT * FROM cla2sub order by cla2sub_id limit ?,10");
    182. pst.setInt(1, currentPage);
    183. }
    184. rs = pst.executeQuery();
    185. while (rs.next()) {
    186. Cla2Sub cla2Sub = new Cla2Sub();
    187. cla2Sub.setId(rs.getInt(1));
    188. cla2Sub.setClasses(new ClassesImpl().query("cla_id",
    189. rs.getString(2)).get(0));
    190. cla2Sub.setSubject(new SubjectImpl().query("sub_id",
    191. rs.getString(3)).get(0));
    192. cla2Sub.setTeacher(new TeacherImpl().query("tec_id",
    193. rs.getString(4)).get(0));
    194. list.add(cla2Sub);
    195. }
    196. } catch (Exception e) {
    197. e.printStackTrace();
    198. } finally {
    199. DB.close(conn, pst, rs);
    200. }
    201. return list;
    202. }
    203. public int getCountPage(String type, String value) {
    204. int countPages = 0;
    205. try {
    206. conn = DB.getConn();
    207. if (type.equals("cla2sub_id")) {
    208. pst = conn
    209. .prepareStatement("SELECT COUNT(*) FROM cla2sub where cla2sub_id = ?");
    210. pst.setString(1, value);
    211. } else if (type.equals("stu_id")) {
    212. pst = conn
    213. .prepareStatement("SELECT COUNT(*) FROM cla2sub WHERE cla_id IN(SELECT cla_id FROM student WHERE stu_id = ?) order by cla2sub_id");
    214. pst.setString(1, value);
    215. } else if (type.equals("cla_id")) {
    216. pst = conn
    217. .prepareStatement("SELECT COUNT(*) FROM cla2sub where cla_id = ?");
    218. pst.setString(1, value);
    219. } else if (type.equals("sub_id")) {
    220. pst = conn
    221. .prepareStatement("SELECT COUNT(*) FROM cla2sub where sub_id = ?");
    222. pst.setString(1, value);
    223. } else if (type.equals("tec_id")) {
    224. pst = conn
    225. .prepareStatement("SELECT COUNT(*) FROM cla2sub where tec_id = ?");
    226. pst.setString(1, value);
    227. } else if (type.equals("sub_name")) {
    228. pst = conn
    229. .prepareStatement("SELECT COUNT(*) FROM cla2sub WHERE sub_id IN(SELECT sub_id FROM `subject` WHERE sub_name LIKE ?)");
    230. pst.setString(1, "%" + value + "%");
    231. } else if (type.equals("cla_name")) {
    232. pst = conn
    233. .prepareStatement("SELECT COUNT(*) FROM cla2sub WHERE cla_id IN(SELECT cla_id FROM classes WHERE cla_name LIKE ?)");
    234. pst.setString(1, "%" + value + "%");
    235. } else {
    236. pst = conn.prepareStatement("SELECT COUNT(*) FROM cla2sub");
    237. }
    238. rs = pst.executeQuery();
    239. while (rs.next()) {
    240. countPages = rs.getInt(1);
    241. countPages = countPages % 10 == 0 ? countPages / 10
    242. : countPages / 10 + 1;
    243. }
    244. } catch (Exception e) {
    245. e.printStackTrace();
    246. } finally {
    247. DB.close(conn, pst, rs);
    248. }
    249. return countPages;
    250. }
    251. }

    ClassesImpl

    1. package impl;
    2. import java.sql.Connection;
    3. import java.sql.PreparedStatement;
    4. import java.sql.ResultSet;
    5. import java.sql.Statement;
    6. import java.util.ArrayList;
    7. import java.util.List;
    8. import util.DB;
    9. import dao.IClasses;
    10. import entity.Classes;
    11. public class ClassesImpl implements IClasses
    12. {
    13. private Connection conn;
    14. private PreparedStatement pst;
    15. private ResultSet rs;
    16. public Classes add(Classes classes)
    17. {
    18. try
    19. {
    20. conn = DB.getConn();
    21. pst = conn.prepareStatement("INSERT INTO classes (cla_name,maj_id,cla_tec) VALUES (?,?,?)", Statement.RETURN_GENERATED_KEYS);
    22. pst.setString(1, classes.getName());
    23. pst.setInt(2, classes.getMajor().getId());
    24. pst.setString(3, classes.getTecName());
    25. pst.executeUpdate();
    26. rs = pst.getGeneratedKeys();
    27. if (rs.next())
    28. {
    29. classes = query("cla_id", rs.getString(1)).get(0);
    30. }
    31. } catch (Exception e)
    32. {
    33. e.printStackTrace();
    34. } finally
    35. {
    36. DB.close(conn, pst, rs);
    37. }
    38. return classes;
    39. }
    40. public void delete(Classes classes)
    41. {
    42. try
    43. {
    44. conn = DB.getConn();
    45. pst = conn.prepareStatement("DELETE FROM classes WHERE cla_id = ?");
    46. pst.setInt(1, classes.getId());
    47. pst.executeUpdate();
    48. } catch (Exception e)
    49. {
    50. e.printStackTrace();
    51. } finally
    52. {
    53. DB.close(conn, pst, rs);
    54. }
    55. }
    56. public void update(Classes classes)
    57. {
    58. try
    59. {
    60. conn = DB.getConn();
    61. pst = conn.prepareStatement("UPDATE classes SET cla_name = ?,maj_id = ?,cla_tec= ? WHERE cla_id = ?");
    62. pst.setString(1, classes.getName());
    63. pst.setInt(2, classes.getMajor().getId());
    64. pst.setString(3, classes.getTecName());
    65. pst.setInt(4, classes.getId());
    66. pst.executeUpdate();
    67. } catch (Exception e)
    68. {
    69. e.printStackTrace();
    70. } finally
    71. {
    72. DB.close(conn, pst, rs);
    73. }
    74. }
    75. public List query(String type, String value)
    76. {
    77. ArrayList list = new ArrayList();
    78. try
    79. {
    80. conn = DB.getConn();
    81. if (type.equals("cla_id"))
    82. {
    83. pst = conn.prepareStatement("SELECT * FROM classes WHERE cla_id = ? order by cla_id");
    84. pst.setString(1, value);
    85. } else if (type.equals("cla_name"))
    86. {
    87. pst = conn.prepareStatement("SELECT * FROM classes WHERE cla_name like ? order by cla_id");
    88. pst.setString(1, "%" + value + "%");
    89. } else if (type.equals("maj_id"))
    90. {
    91. pst = conn.prepareStatement("SELECT * FROM classes WHERE maj_id = ? order by cla_id");
    92. pst.setString(1, value);
    93. } else if (type.equals("maj_name"))
    94. {
    95. pst = conn.prepareStatement("SELECT * FROM classes WHERE maj_id IN(SELECT maj_id FROM major WHERE maj_name LIKE ?) order by cla_id");
    96. pst.setString(1, "%" + value + "%");
    97. }else if (type.equals("cla_tec"))
    98. {
    99. pst = conn.prepareStatement("SELECT * FROM classes WHERE cla_tec LIKE ? order by cla_id");
    100. pst.setString(1, "%" + value + "%");
    101. }
    102. else
    103. {
    104. pst = conn.prepareStatement("SELECT * FROM classes order by cla_id");
    105. }
    106. rs = pst.executeQuery();
    107. while (rs.next())
    108. {
    109. Classes classes = new Classes();
    110. classes.setId(rs.getInt(1));
    111. classes.setName(rs.getString(2));
    112. classes.setMajor(new MajorImpl().query("maj_id", rs.getString(3)).get(0));
    113. classes.setTecName(rs.getString(4));
    114. list.add(classes);
    115. }
    116. } catch (Exception e)
    117. {
    118. e.printStackTrace();
    119. } finally
    120. {
    121. DB.close(conn, pst, rs);
    122. }
    123. return list;
    124. }
    125. public List query(String type, String value, int currentPage)
    126. {
    127. currentPage = (currentPage - 1) * 10;
    128. ArrayList list = new ArrayList();
    129. try
    130. {
    131. conn = DB.getConn();
    132. if (type.equals("cla_id"))
    133. {
    134. pst = conn.prepareStatement("SELECT * FROM classes WHERE cla_id = ? order by cla_id limit ?,10");
    135. pst.setString(1, value);
    136. pst.setInt(2, currentPage);
    137. } else if (type.equals("cla_name"))
    138. {
    139. pst = conn.prepareStatement("SELECT * FROM classes WHERE cla_name like ? order by cla_id limit ?,10");
    140. pst.setString(1, "%" + value + "%");
    141. pst.setInt(2, currentPage);
    142. } else if (type.equals("maj_id"))
    143. {
    144. pst = conn.prepareStatement("SELECT * FROM classes WHERE maj_id = ? order by cla_id limit ?,10");
    145. pst.setString(1, value);
    146. pst.setInt(2, currentPage);
    147. } else if (type.equals("maj_name"))
    148. {
    149. pst = conn.prepareStatement("SELECT * FROM classes WHERE maj_id IN(SELECT maj_id FROM major WHERE maj_name LIKE ?) order by cla_id limit ?,10");
    150. pst.setString(1, "%" + value + "%");
    151. pst.setInt(2, currentPage);
    152. } else if (type.equals("cla_tec"))
    153. {
    154. pst = conn.prepareStatement("SELECT * FROM classes WHERE cla_tec = ? order by cla_id limit ?,10");
    155. pst.setString(1, value);
    156. pst.setInt(2, currentPage);
    157. }else
    158. {
    159. pst = conn.prepareStatement("SELECT * FROM classes order by cla_id limit ?,10");
    160. pst.setInt(1, currentPage);
    161. }
    162. rs = pst.executeQuery();
    163. while (rs.next())
    164. {
    165. Classes classes = new Classes();
    166. classes.setId(rs.getInt(1));
    167. classes.setName(rs.getString(2));
    168. classes.setMajor(new MajorImpl().query("maj_id", rs.getString(3)).get(0));
    169. classes.setTecName(rs.getString(4));
    170. list.add(classes);
    171. }
    172. } catch (Exception e)
    173. {
    174. e.printStackTrace();
    175. } finally
    176. {
    177. DB.close(conn, pst, rs);
    178. }
    179. return list;
    180. }
    181. public int getCountPage(String type, String value)
    182. {
    183. int countPages = 0;
    184. try
    185. {
    186. conn = DB.getConn();
    187. if (type.equals("cla_id"))
    188. {
    189. pst = conn.prepareStatement("SELECT COUNT(*) FROM classes WHERE cla_id = ?");
    190. pst.setString(1, value);
    191. } else if (type.equals("cla_name"))
    192. {
    193. pst = conn.prepareStatement("SELECT COUNT(*) FROM classes WHERE cla_name like ?");
    194. pst.setString(1, "%" + value + "%");
    195. } else if (type.equals("maj_id"))
    196. {
    197. pst = conn.prepareStatement("SELECT COUNT(*) FROM classes WHERE maj_id = ?");
    198. pst.setString(1, value);
    199. } else if (type.equals("maj_name"))
    200. {
    201. pst = conn.prepareStatement("SELECT COUNT(*) FROM classes WHERE maj_id IN(SELECT maj_id FROM major WHERE maj_name LIKE ?)");
    202. pst.setString(1, "%" + value + "%");
    203. } else if (type.equals("cla_tec"))
    204. {
    205. pst = conn.prepareStatement("SELECT COUNT(*) FROM classes WHERE cla_tec = ?");
    206. pst.setString(1, value);
    207. } else
    208. {
    209. pst = conn.prepareStatement("SELECT COUNT(*) FROM classes");
    210. }
    211. rs = pst.executeQuery();
    212. while (rs.next())
    213. {
    214. countPages = rs.getInt(1);
    215. countPages = countPages % 10 == 0 ? countPages / 10 : countPages / 10 + 1;
    216. }
    217. } catch (Exception e)
    218. {
    219. e.printStackTrace();
    220. } finally
    221. {
    222. DB.close(conn, pst, rs);
    223. }
    224. return countPages;
    225. }
    226. }

    如果也想学习本系统,下面领取。关注并回复:036jsp

     

  • 相关阅读:
    【Vue】避免Vue组件中常见的props默认值陷阱
    板凳-------unix 网络编程 卷1-1简介
    100分钟带你玩转 Spring AOP,轻松吊打面试官
    学习笔记-SET
    Linux--exec族函数及与fork共用
    测试框架到底是什么,如何定义?
    IUV-5G全网仿真软件实训手册-手工整理
    第2章 构建自定义语料库
    Spring | @Order 与 Ordered 控制加载顺序
    搭建直播带货源码,商品带货销售不止直播一种方式
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128013828