JavaWeb 毕业设计项目-足球队管理系统(一)系统结构图 + 用例图
系统功能结果图:
管理员(球队经理)用例图:
教练组用例图:
球员组用例图:
JavaWeb 毕业设计项目-足球队管理系统(二)成品展示 + 业务介绍
1.登录模块
登录主界面:
登录异常处理:
``` 一共设置了4种情况:
1.账号密码错误
2.账号密码正确,却没有登录权限
3.网络异常
4.正常登录
```
2.主界面
1 管理员主界面:
教练组主界面 :
球员组主界面:
干事组主界面:
说明:不同角色登录后展示的主界面各不同,其次不角色 点击菜单后呈现的效果也更不多,例如:查看评价结果那一块,管理员能看评价人的信息而且能对评价结果进行操作,而其他角色只能看见评价得分信息。
3.用户管理 + 角色管理:
用户管理:
说明:基本的增删改查 + 分页查询:
- 这里新加了一个停职的操作,这里的停职也就是撤销了他的登录权限,但系统依然会保留他的数据,等待重新启用以后,数据自动恢复和正常登录授权。
- 不同的角色所呈现出来的信息不同,比如球员更多的展示身体条件等信息,教练则更多的展现执教的经验与以往成就等。
- 至于右下角的那个环形菜单导航,会在后面再详细介绍一下。
角色管理:
说明:
分为五类用户组:管理员、教练组、球员组、干事组、停职人员
1.教练组:体能训练师、技术训练师、强化训练师、主教练等角色。
2.干事组:保洁人员、医务人员、拉拉队等成员。
3.球员组:边后卫、中后卫、后腰、前腰、中前卫、边前卫、前锋、边锋、守门员等。
4.停职人员:无任何权限但保留其在数据库里的信息。
我这里的权限是授予给 【组】 !例如:数学老师,化学老师,体育老师 都归于【教师组】,他们的权限都是同级。
这里的操作,只能对组下的角色名进行增删改查的操作,例如在干事组里新增一个【球童】的职务,他所获得的权限就是【干事组】的权限。(这里还有很大细化的空间,如果有对权限管理这块要求比较严格的,可以参考- http://blog.csdn.net/chexlong/article/details/37697555/ )
3.日程信息管理
管理员角色下-发布任务-查看任务状态
被安排任务人员:
说明:这就是之前提到的同一个 JSP,点击后根据不同的角色呈现出不同的界面,例如管理员能管理任务的基本信息,员工们能通过(接收此日程任务/已完成此日常任务/此任务尚未完成)来反馈给管理员,使管理员能更好的知道各个日程任务的进度情况,也就是一个简单的"发布者"与"执行者"之间简单的信息交互。
4.训练计划 + 球队阵容 + 球员数据
教练角色下-球队阵容- 训练计划
说明:训练计划-球队阵容 跟上面的实现原理差不多:1.增删改查 + 分页查询 + 角色区别处理(不同角色能操作权限不同)。然后阵容这块我多加个一个字段,来呈现出阵容是否启用。
教练角色下-球员数据
点击【查看近七场数据】:
说明:表单里展现出来的是最近一场的数据,然后教练只能对最近一场的数据 进行增删改查的操作。
(我个人的理解是:这里数据就好像我们平时的考试成绩一样,可能老师批卷有误判的情况,那我们发现后可以向老师说明情况,老师再确认后能修改【这次】的考试成绩,至于以前的成绩是经过我们都确认后,就不能再更改了。以防止个别教练因其他原因篡改历史数据,保证数据的公正性和准确性)。
这里我们用 layer.js 插件,将最近七场的数据以弹出层的形式 展现出来。至于具体如何数据进行交互,后面会更详细地介绍。
参考链接:《SoloBug - bug 管理系统》-Echarts+Ajax 实现图表数据异步加载 https://blog.csdn.net/yangdongchuan1995/article/details/78633462
5.球队简介 + 公告管理 + 环形菜单导航
环形菜单导航
说明:点击事件触发后 展开
第一个图标:球队简介,以弹出层的形式展示出来。
第二个图标:跳转到-编辑个人信息
第三个图标:跳转到-查看未接收日程任务
第四个图标:跳转到-个人备忘录查询
球队简介:
说明:点击那个图标后,呈现出的效果,通过滚轮上下滑动呈现出新事件与旧事件。
说明:管理球队简介里的信息,基本的增删改查 + 分页。
说明:编辑球队公告信息。
6.评价信息管理
管理员角色下-制定评价标准
球员组角色下-评价教练组
说明:先选择评价的对象,因为每个教练只能被同一个球员评价一次,所以评价对象那块下拉列表处就不会显示该球员【已经评价过】的教练。
查看评价结果: 管理员角色下:
说明:管理能查看评价人信息而且能对评价信息进行删除操作。然后我在评价人那列字段下都加入超链接标签,这样管理员就可以直接点击评价人的名字就跳转到查看评价人详细信息。 非管理员角色下:
说明:只能查看,没有其他权限,也无法查看评价人信息。
7.球员考核管理
球员考核与前面的评价信息总体结构大致相同,只是方向有所不同,前者是【球员组】评价【教练组】,后者是【教练组】考核【球员组】,所以以下只列出差异处。
制定考核标准:
说明:因为考核标准可以存在多种情况,所以允许管理员添加多套考核标准,启用哪套标准,教练考核的时候就使用哪套标准。
评审教练名单:
说明:制定参与考核球员的教练名单,获得评审权限的教练才能参与考核,如果没有参与考核的权限,就直接弹出提示并跳转到查看考核结果。
考核球员组与查看考核结果跟前面的评价信息管理结构相同,所以省略了。
8.菜单页面管理
维护菜单名称:
说明:这个功能比较鸡肋 - - 就只能修改菜单的名称,例如将【成员管理】修改为【人员管理】,当初为什么想加这个功能呢,是因为想告诉别人,我的菜单页面是 “活的”!不是写死在 JSP 页面的!全部的菜单页面信息都是从数据库里获取到。。 额。。 尴尬 好尴尬的功能啊。。
【2018 年 2 月 6 日留言:哈哈哈哈哈哈....... 这句话写的真!的!好!尴!尬!啊! 哈哈哈哈哈哈哈】
授权菜单显示:
取消在【教练组】角色下的菜单页面 显示 【球员考核管理】页面 与 【评价信息管理】页面 后:
说明:管理员可动态的控制各成员登录后主界面的页面菜单显示,原设想是控制所有的菜单的是否显示,但因为当前系统没有太多控制菜单页面的需求,所以暂时只控制【球员考核管理】页面 与 【评价信息管理】页面的显示与否。
9.菜单页面-【搜索】
说明:输入关键字,自动补全,然后移动键盘上下键,获取焦点后,右边界面自动跳转。 图片展示效果不是太明显,效果就像【百度搜索引擎】那样,输入一个关键字,然后下拉列表弹出相关联的信息,然后移动键盘 上下键,自动跳转,不需要我们去点击。这样可以大幅度提高管理员使用这个程序的工作效率。
补充:用的前端插件叫:jQuery ui 里的 autoComplete.js
JavaWeb 毕业设计项目-足球队管理系统(三)功能优化 + 项目部署
前言
毕业设计项目答辩已经在 7 月份就已经完成(我们学校答辩分为两次,一次是在大三下学年的项目答辩,还有一次是在大四下学年的论文答辩),在上一次五月份记录成品展示和业务流程之后到项目答辩前,中间也新增了一些小功能模板,想借此这篇文章一起记录一下。
项目暂时部署在京东云上,访问路径: http://116.196.66.192/Soccer 足球队管理系统 (可以增加数据,尽量别清空数据,谢谢!!)
因为时间较为久远…部署的版本不是项目答辩时用的版本,可能会存在一些小 bug。
为什么不部署答辩时用的版本呢?
因为我也没有了那个版本… 7 月末来北京实习的时候,因为电脑内存不太足,加装了一块内存,装完后感觉应该把系统也重装一下,导致放在桌面的项目也一起被… 还好在 U 盘里找到了 6 月 24 号的历史版本项目(功能已完成,但后续解决的 bug 仍存在),然后就部署了这版。
1.球队文件管理模块
添加文件信息
查看文件列表
说明:业务逻辑特别简单,其实就是实现上传与下载功能,唯一有点意思就是上传时使用的异步上传方式,这种方式与
CSDN 编辑博客时,上传图片的方式类似:
这是它这里多了一个“在线预览图片“的功能,这块功能在我的参赛项目中也有实现,记录那个项目时,也会把实现的方法与源码贴出来。
异步上传实现 Web 端源码(通过 ajaxFileUpload.js):
```
function FileUpload(){
$.ajaxFileUpload(
{
url:'fileCtrl/uploadfu', //需要链接到服务器地址
secureuri:false,
dataType: 'text', //服务器返回的格式,可以是json, xml
fileElementId:'file', //文件选择框的id属性
success: function (result) //相当于java中try语句块的用法
{
var a=result;
var url = document.getElementById("url"); url.value=a; var msgText = ""; if (result=='false') { $('#msg').css("background-color", 'red'); msgText = ' 文件不支持上传!!'; } else{
$('#msg').css("background-color", 'green');
msgText = '<img src="images/icon_ok.gif" /> 可以上传!';
} $('#msg').html(msgText); }, error: function (data, status, e) //相当于java中catch语句块的用法 {
$('#results').html('添加失败');
} }
);
}
```
功能优化:
球队日常管理-数据统计:加入导出 Excel 表格功能
成员管理模块:加入条件查询功能(…无力吐槽当初的自己,连条件查询都没有的管理系统,能用?)
球员考核管理-查看评审结果/评价信息管理-查看评价信息: 1.加入条件查询功能(其余模块就没有补 条件查询了) 2.将“评价人“列,加入标签,点击后能查看对应评价人详细信息,方便管理员操作 项目部署
在 window 下部署: 略,与在本机下利用 Tomcat 启动程序类似,将编译后的文件拷贝至服务器端 tomcat/webapps/下,然后在 tomcat/bin/下,startup 启动,shutdown 停止。 需要注意的是用云主机时,记得把安全组设置好
(思绪一下就回到 8 月 17 号,在南京参加比赛的前一个晚上的凌晨,因为阿里云启动后未设置安全组,外网一直无法访问,再加上其他突如其来的大 BUG,导致 3 个人苦战到凌晨 3-4 点,然后休息 3-4 个小时立马出发前往南京大学进行比赛,现在回想起来~ 哎!还真 TM 爽啊!!!~)
还有安装数据库,更改项目连接数据库的 url 地址等一些小问题。
在 Linux 下部署: 安装 Tomcat: http://blog.csdn.net/yangdongchuan1995/article/details/78590154 安装 MySQL: http://blog.csdn.net/yangdongchuan1995/article/details/78592327 下载 SecureCRT: http://download.csdn.net/download/yangdongchuan1995/10132518
然后同样将项目放在 tomcat/webapps/ 下,然后重启一下 Tomcat 需要注意:如果在项目里有上传文件的功能,需要修改上传至哪一个目录下,该目录的模式。
chmod 777 文件路径
JavaWeb 毕业设计项目-足球队管理系统(四)引入 Excel_To_DB 项目 + 源码
一、引入 Excel_To_DB 项目
1.业务介绍 加入球员数据批量导入功能,允许球队主教练批量导入数据,进入界面的步骤: 图一:使用“主教练”的账户密码登录 图二:选择【球队日常管理】-【数据统计管理】中的【批量导入】进入界面 图三:进入球员数据同步工具界面,详细功能业务请参考【Excel_To_DB】SpringBoot+EasyPoi+Redis 消息队列实现 Excel 批量异步导入数据库 https://blog.csdn.net/yangdongchuan1995/article/details/79277834
从图三中的访问路径( http://www.ydc.com/Excel_To_DB/toImport )可以发现,这里只是做了一个简单的页面跳转,那如果我们其他用户直接访问这个路径能进入该界面吗? 答案是不能的,如下图:
2.代码介绍 图二中简单的 a 标签跳转界面:
<a href="/Excel_To_DB/toImport" target="_blank">批量导入</a>
图三中,通过共享 Session 来实现校验拦截,Excel_To_DB 项目获取 Soccer 项目中的 Session,即在同一 Tomcat 下,多个项目如何共享 Session。 这里其实有多种方法可以实现,例如可以用 Redis 来当做中间的介质,用户登录时生成唯一的 token,将 token 作为 key 值,用户信息作为 value 值存入 Redis 中,并设置对应的过期时间,同时将 token 存入 cookie 中并返回。用户访问其他的项目时,获取其对应 cookie 中的 token 值并查询 Redis…
当然 ,也有比较简单但效率较差的方法 - - 在 tomcat/conf/server.xml 中加入配置:
```
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
```
在 Soccer 项目,将 session 存入 ServletContext 中
ServletContext ContextA =session .getServletContext();
ContextA.setAttribute("session", session );
在 Excel_To_DB 项目中,从 ServletContext 取出
ServletContext servletContext = session.getServletContext();
ServletContext servletContextSoccer = servletContext.getContext("/Soccer");
HttpSession sessionSoccer =(HttpSession)servletContextSoccer.getAttribute("session");
然后进行对应的业务逻辑判断,其他详细代码请看 Excel_To_DB , 分支名:Soccer_Excel_To_DB
二、总结
先贴 Soccer 项目代码地址:JavaWeb 毕业设计项目-足球队管理系统 https://gitee.com/ydc_coding/Soccer 毕业论文及其其他的文档设计会在后续补充在项目中,所以对这些文档类的感兴趣的朋友,可以点【Fork】持续关注一下。
。。。。。。 本来准备一波煽情的话,想想还是算了
要不 ?来一波自问自答吧~
1.这个项目给你带来最大的收获是什么? 答:最大的收获应该是让我养成了写博客的习惯吧。
2.完成这个项目中,有没有遇见到什么困难? 答:最开始做这个项目的是在 16 年 10 月份吧,那个时候才开始学习 J2EE,才学完 Servlet+jsp 就迫不及待的想做一个项目来玩,然后年底完成以后又在 17 年年初又用 SpringMVC 框架重构了一遍,在最开始做的时候碰见了特别多的困难,有技术实现上的,有业务逻辑设计上的,有时候一个点一卡就是 3、4 个小时,连蹲厕所都在想如何能解决,然后每每解开难题时,那种成就感!!!哇~ 美滋滋~ 额 … 是不是 有点偏题了… 额 … 管他的呢,说开心了就行~
3.这个项目后期还会维护吗? 答:应该不会再维护,因为代码写的太丑,看着头疼… 这个项目应该算是我人生中的一个节点吧,告别校园时代。
4.随意记录一些知识点吧~
``` // 将80端口指向8080,即输入域名后不需要加8080 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
// 安装sz rz yum install lrzsz rz -y // 上传直接覆盖 rz -ybe // 当上传大文件时
// 压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./*
// 解压zip文件到当前目录 unzip filename.zip
tar -zcvf /home/filename.tar.gz /home/filename/ ```
Linux 服务器启动后,自动执行 shell 脚本
// 修改 /etc/rc.d/rc.local,在最后追加需要执行的shell脚本
/root/auto_config.sh
// 然后授予执行权限
chmod +x /etc/rc.d/rc.local
参考文献
- 基于Android的足球球迷综合服务平台的设计与实现(北京工业大学·陈鑫)
- 基于B/S结构的学校管理信息系统的研究与开发(四川大学·徐永红)
- 基于B/S结构的学校管理信息系统的研究与开发(四川大学·徐永红)
- 基于J2EE的远程教育平台的开发与实现(吉林大学·葛瑛)
- 基于SSH的手机网站的设计与实现(东北大学 ·陶志刚)
- 基于Java的Web应用设计与开发(西南石油学院·龚华)
- 基于J2EE体系结构的CRM系统的研究与设计(贵州大学·汪元普)
- 日常工作管理系统的设计与实现(北京邮电大学·马东波)
- 基于云平台的校园足球管理系统的设计与实现(内蒙古大学·张艳秋)
- 基于Android的足球球迷综合服务平台的设计与实现(北京工业大学·陈鑫)
- 基于J2ME的Java手机软件——足球彩票手机投注系统(华侨大学·许向锋)
- 基于SSM框架的智能web管理系统的研发设计(北京化工大学·陈红)
- 基于Android的足球球迷综合服务平台的设计与实现(北京工业大学·陈鑫)
- 基于J2EE的远程教育平台的开发与实现(吉林大学·葛瑛)
- 基于Android的足球球迷综合服务平台的设计与实现(北京工业大学·陈鑫)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码项目助手 ,原文地址:https://m.bishedaima.com/yuanma/35795.html