springboot视频网站系统的设计与实现(代码+数据库+LW)

摘 要

使用旧方法对视频信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在视频信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。

这次开发的视频网站系统管理员功能有个人中心,用户管理,视频分享管理,视频排名管理,平台公告管理,视频类型管理,交流论坛管理,留言板管理,系统管理等。用户功能有个人中心和视频分享管理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行视频网站系统程序的开发,在数据库的选择上面,选择功能强大的MySQL数据库进行数据的存放操作。

视频网站系统被人们投放于现在的生活中进行使用,该款管理类软件就可以让管理人员处理信息的时间介于十几秒之间。在这十几秒内就能完成信息的编辑等操作。有了这样的管理软件,视频信息的管理就离无纸化办公的目标更贴近了。

关键词:视频网站系统;Spring Boot 框架;Java;MySQL数据库

[1 绪论](#1 绪论)

[1.1 研究背景](#1.1 研究背景)

1.2目的和意义

[1.3 论文结构安排](#1.3 论文结构安排)

[2 相关技术](#2 相关技术)

[2.1 Spring Boot框架简介](#2.1 Spring Boot框架简介)

[2.2 B/S架构介绍](#2.2 B/S架构介绍)

[2.3 MySQL数据库介绍](#2.3 MySQL数据库介绍)

[2.4 JAVA语言介绍](#2.4 JAVA语言介绍)

[3 系统分析](#3 系统分析)

3.1系统可行性分析

[3.1.1 技术可行性分析](#3.1.1 技术可行性分析)

[3.1.2 经济可行性分析](#3.1.2 经济可行性分析)

[3.1.3 运行可行性分析](#3.1.3 运行可行性分析)

3.2系统性能分析

[3.2.1 系统安全性](#3.2.1 系统安全性)

[3.2.2 数据完整性](#3.2.2 数据完整性)

3.2.3系统可扩展性

3.3系统流程分析

3.3.1系统登录流程

3.3.2信息添加流程

3.3.3信息删除流程

[4 系统设计](#4 系统设计)

4.1系统概要设计

4.2系统功能结构设计

4.3数据库设计

4.3.1数据库E-R图设计

[4.3.2 数据库表结构设计](#4.3.2 数据库表结构设计)

[5 系统实现](#5 系统实现)

5.1用户信息管理

[5.2 视频分享管理](#5.2 视频分享管理)

[5.3 视频排名管理](#5.3 视频排名管理)

[5.4 交流论坛管理](#5.4 交流论坛管理)

5.5留言板管理

6系统测试

[6.1 本系统测试](#6.1 本系统测试)

6.1.1登录功能测试

6.1.2修改密码功能测试

6.2测试结果分析

[结 论](#结 论)

参考文献

[ ](#致 谢)

1 绪论

1.1 研究背景

现在大家正处于互联网加的时代,这个时代它就是一个信息内容无比丰富,信息处理与管理变得越加高效的网络化的时代,这个时代让大家的生活不仅变得更加地便利化,也让时间变得更加地宝贵化,因为每天的每分钟,每秒钟这些时间都能让人们处理大批量的日常事务,这些场景,是之前的手工模式无法与之相抗衡的。对于视频信息的管理来说,传统的通过纸质文档记录信息的方式已经落后了,依靠手工管理这些信息,不仅花费较长的工作时间,在对记录各种信息的文档进行信息统计以及信息核对操作时,也不能及时保证信息的准确性,基于这样的办公低效率环境下,对于视频信息的处理就要提出新的解决方案。因为这个时代的信息一直都在高速发展,要是不抱着发展的观念看待事情,极有可能被这个市场快速遗忘,甚至被无情地淘汰掉。所以尽早开发一款视频网站系统进行信息的快速处理,既跟上了时代的发展脚步,也能让自己的核心竞争力有所提升。

4.1系统概要设计

视频网站系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4.1就是开发出来的程序工作原理图。

4.2系统 功能 结构设计

下图就是系统功能结构图。

4.3.2 数据库 结构设计

本次程序开发选用的数据库管理工具是MySQL数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序视频网站系统的数据表结构信息。

表4.1 视频分享评论表

|----------|--------------|---|-------------------|-------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| refid | bigint(20) | 否 | | 关联表id |
| userid | bigint(20) | 否 | | 用户id |
| nickname | varchar(200) | 是 | NULL | 用户名 |
| content | longtext | 否 | | 评论内容 |
| reply | longtext | 是 | NULL | 回复内容 |

表4.2 视频排名评论表

|----------|--------------|---|-------------------|-------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| refid | bigint(20) | 否 | | 关联表id |
| userid | bigint(20) | 否 | | 用户id |
| nickname | varchar(200) | 是 | NULL | 用户名 |
| content | longtext | 否 | | 评论内容 |
| reply | longtext | 是 | NULL | 回复内容 |

表4.3 交流论坛

|----------|--------------|---|-------------------|-------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| title | varchar(200) | 是 | NULL | 帖子标题 |
| content | longtext | 否 | | 帖子内容 |
| parentid | bigint(20) | 是 | NULL | 父节点id |
| userid | bigint(20) | 否 | | 用户id |
| username | varchar(200) | 是 | NULL | 用户名 |
| isdone | varchar(200) | 是 | NULL | 状态 |

表4.4 留言板

|----------|--------------|---|-------------------|-------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| userid | bigint(20) | 否 | | 留言人id |
| username | varchar(200) | 是 | NULL | 用户名 |
| content | longtext | 否 | | 留言内容 |
| reply | longtext | 是 | NULL | 回复内容 |

表4.5 平台公告

|----------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| biaoti | varchar(200) | 是 | NULL | 标题 |
| neirong | longtext | 是 | NULL | 内容 |
| faburen | varchar(200) | 是 | NULL | 发布人 |
| faburiqi | date | 是 | NULL | 发布日期 |
| tupian | varchar(200) | 是 | NULL | 图片 |

表4.6 视频分享

|-----------------|--------------|---|-------------------|--------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| shipinmingcheng | varchar(200) | 是 | NULL | 视频名称 |
| leixing | varchar(200) | 是 | NULL | 类型 |
| shipinjianjie | longtext | 是 | NULL | 视频简介 |
| shipinneirong | longtext | 是 | NULL | 视频内容 |
| bofangshizhang | varchar(200) | 是 | NULL | 播放时长 |
| zaixianshipin | varchar(200) | 是 | NULL | 在线视频 |
| faburiqi | date | 是 | NULL | 发布日期 |
| fengmian | varchar(200) | 是 | NULL | 封面 |
| zhanghao | varchar(200) | 是 | NULL | 账号 |
| xingming | varchar(200) | 是 | NULL | 姓名 |
| sfsh | varchar(200) | 是 | 否 | 是否审核 |
| shhf | longtext | 是 | NULL | 审核回复 |
| thumbsupnum | int(11) | 是 | 0 | 赞 |
| crazilynum | int(11) | 是 | 0 | 踩 |
| clicktime | datetime | 是 | NULL | 最近点击时间 |
| clicknum | int(11) | 是 | 0 | 点击次数 |

表4.7 视频类型

|---------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| leixing | varchar(200) | 是 | NULL | 类型 |

表4.8 视频排名

|-----------------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| shipinmingcheng | varchar(200) | 是 | NULL | 视频名称 |
| leixing | varchar(200) | 是 | NULL | 类型 |
| shipinjianjie | longtext | 是 | NULL | 视频简介 |
| bofangliang | int(11) | 是 | NULL | 播放量 |
| bofangshizhang | varchar(200) | 是 | NULL | 播放时长 |
| zaixianshipin | varchar(200) | 是 | NULL | 在线视频 |
| fabuzhe | varchar(200) | 是 | NULL | 发布者 |
| faburiqi | date | 是 | NULL | 发布日期 |
| fengmian | varchar(200) | 是 | NULL | 封面 |
| thumbsupnum | int(11) | 是 | 0 | 赞 |
| crazilynum | int(11) | 是 | 0 | 踩 |

表4.9 收藏表

|-----------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| userid | bigint(20) | 否 | | 用户id |
| refid | bigint(20) | 是 | NULL | 收藏id |
| tablename | varchar(200) | 是 | NULL | 表名 |
| name | varchar(200) | 否 | | 收藏名称 |
| picture | varchar(200) | 否 | | 收藏图片 |

表4.10 管理员表

|----------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| username | varchar(100) | 否 | | 用户名 |
| password | varchar(100) | 否 | | 密码 |
| role | varchar(100) | 是 | 管理员 | 角色 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |

表4.11 用户

|--------------|--------------|---|-------------------|------|
| 字段 | 类型 | 空 | 默认 | 注释 |
| id (主键) | bigint(20) | 否 | | 主键 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| zhanghao | varchar(200) | 否 | | 账号 |
| mima | varchar(200) | 否 | | 密码 |
| xingming | varchar(200) | 否 | | 姓名 |
| xingbie | varchar(200) | 是 | NULL | 性别 |
| shouji | varchar(200) | 是 | NULL | 手机 |
| youxiang | varchar(200) | 是 | NULL | 邮箱 |
| shenfenzheng | varchar(200) | 是 | NULL | 身份证 |

5 系统实现

5.1用户信息管理

管理员管理用户信息,可以添加,修改,删除用户信息信息。下图就是用户信息管理页面。

5.2 视频分享管理

管理员管理视频分享,可以添加,修改,删除视频分享信息。下图就是视频分享管理页面。

图5.2视频分享管理页面

5.3 视频排名管理

管理员管理视频排名,可以添加,修改,删除视频排名信息。下图就是视频排名管理页面。

5.4 交流论坛管理

管理员管理交流论坛,可以添加,修改,删除交流论坛信息。下图就是交流论坛管理页面。

5.5留言板管理

管理员管理留言板,可以添加,修改,删除留言板信息。下图就是留言板管理页面。

6 . 1 . 2 修改密码功能测试

修改密码其实就是害怕用户的密码信息遭到泄露,导致系统的安全系数下降,因此,就要要求用户每个月修改一次密码。表6.2就是修改密码功能测试数据。

表6.2 修改密码功能测试数据

|-----|-----|------|
| 旧密码 | 新密码 | 结果 |
| aaa | | 修改失败 |
| bbb | ccc | 修改失败 |
| aaa | ccc | 修改成功 |

结 论

开发视频网站系统是作为毕设作品进行设计的,这个毕设作品是我在校进行知识学习的一个毕业考核项目,也是检验我通过网络工具,图书工具等学习工具进行自学的能力水平,让我在根据程序开发的需求分析初步完成程序功能之外,还接触了程序的测试过程,了解程序测试的具体的过程,以及遇到问题怎么去寻找相应的解决办法等等,毕业作品的制作以及设计才是学校对我真正的考验。

在程序软件没能进行开发之前,我去了学校的图书馆借了有关数据库操作的书籍,在查看了sqlserver和MySQL两种数据库的相关知识之后,我最后选择了我比较熟悉的MySQL数据库。在编程语言的抉择上,由于自己之前接触过Java程序的开发,所以为了让我尽快在短时间内完成程序制作,我确定用Java编程语言进行程序编程。另外我从百度上下载了很多的有关信息增加,信息删除等操作的源代码,并通过不断调试以及完成配套的数据库的设计,开始完成程序的各个部分的功能。每当我粗心大意,致使我深陷程序开发困扰不能自拔之时,值得庆幸的是,我就会得到老师,还有我的寝室同学的耐心指导。

历经长达几个月的毕业作品制作,我凭借自己的知识技能,还有大家的指导帮助,能够在学校规定的时间段之内提交毕业作品。虽然已经算是完成了毕业作品,但是付出了这么多心血,还是想把这个作品做得更加完美一点。针对我的毕业作品视频网站系统,我觉得还有很多方面需要完善,第一就是界面上需要细微调整,比如色彩搭配有点违背广众的审美,需要细微调整,还有系统里面的字体大小也需要调大一点,太小的字体看起来有些费眼。然后在程序的功能上因为自己的入门开发水平的影响,所以目前只能做到这个境界,这个系统相比其他类似系统来说功能很简单,逻辑结构设计得也比较合理。

自己一个人完成程序的开发,我不仅亲自体验了程序的开发流程,体验到了程序开发的各种不易。这种体验也还加深了我对知识的尊重。学海无涯,知识不是大学短短四年就能学完的,在大学学到的知识在最终经历检验时,才会深深地明白自己的知识积累原来还很浅薄。所以今后不管身在何处,自己的学习心态一定要时刻体现出来,要深刻明白知识学到手里就是自己的。同时,自己也不必过多抱怨学到的知识没有用处,相信学到的知识总会有派上用处的那天。不要等到需要用时再去学习知识,那样就会导致自己错失很多本该属于自己的机遇。

相关推荐
lzb_kkk几秒前
【JavaEE】JVM
java·jvm·java-ee
夏子曦2 分钟前
java——Spring MVC的工作流程
java
好看资源平台7 分钟前
SQL基础入门——SQL基础语法
数据库·sql·oracle
暮志未晚Webgl10 分钟前
111. UE5 GAS RPG 实现角色技能和场景状态保存到存档
android·java·ue5
莳花微语12 分钟前
通过DBUA升级 Oracle 11g到Oracle12c版本
数据库·oracle·dbua升级
落798.16 分钟前
什么是缓存击穿?如何避免之布隆过滤器
数据库·缓存·oracle
摇滚侠36 分钟前
javax.xml.ws.soap.SOAPFaultException: ZONE_OFFSET
xml·java·开发语言
yours_Gabriel40 分钟前
【微服务】Nacos
java·微服务·架构
户伟伟1 小时前
缓存方案分享
java·redis·缓存
脸红ฅฅ*的思春期1 小时前
Java安全—原生反序列化&重写方法&链条分析&触发类
java·安全·序列化·反序列化