项目初衷
毕业设计写了个视频上传网站项目,最近学会了SSM框架,打算重构一下当时的项目,并顺便巩固一下自己所学的知识
旧项目的架构
本项目的前端由bootstrap前端框架进行页面的渲染展示,由JetBrains idea IDE + sublime等软件编写,后台由Java编写,结合Spring JDBCTemplate + Druid对MySQL数据库进行增删改查操作,通过JSP进行页面的动态展示效果,配以AJAX对页面的异步操作对页面的数据传输。
新项目的架构
前端由bootstrap渲染,采用前后端分离的方式来实现页面展示,使用idea作为本次重构的编译器,后台使用JDK11来编写,使用Spring+SpringMVC+Mybatis进行整合,视频分享网站项目是根据各大网络视频平台的主要功能与主要需求进行设计与实现,主要目的是实现视频的上传、视频的播放、用户对自己上传的视频进行增删改查、管理员用户对平台所有的视频进行删改操作等功能。
根据视频平台的基本流程实现,视频分享网站需要具备基本的视频分享、视频上传、视频分类、视频查询、视频播放等基本功能实现,在上传视频前必须先登录平台才可以上传视频。
这是功能模块图
网站的需求分析
对于视频分享网站来说,着重点就是视频要如何观看、视频如何分享。最后是如果分享的视频不是自己的意向视频那么该怎么去更改这个问题。对此大约有以下几个需求:
-
主页展示视频简单信息:前端的主页需要将各个用户上传的视频的链接展示为视频块,还需要将用户最新上传的视频展示在单独的一个DIV中以便用户能够清晰的了解最新更新的视频。
-
用户登录与用户注册:一个网站需要上传文件的话需要用户登录才能够方便上传视频的管理,用户注册需要填写用户名与密码还有展示在主页中的昵称,登录需要将验证码和账号密码填写正确。
-
视频上传功能:视频分享网站要体现出分享的功能就需要将用户本地的视频上传到服务器上,为了保证能够快速检索出关键字或者某个类别的视频还需要用户选择视频的种类等等。上传后在上传视频页面显示上传信息,上传成功就显示成功,失败就显示上传失败。
-
视频搜索功能:用户需要根据自己想要查看的视频的名字然后输入关键字进行查询,用户输入的关键字传入服务器后台然后进行模糊查询,查询到的视频信息通过视频块的方式转发到查询视频页面并显示。
-
用户后台管理视频:用户点击头像进入用户后台管理界面,服务器根据进入的用户ID查询出该用户上传的视频并展示在页面中。用户可以通过点击视频详情中的超链接方式预览该视频,也可以点击按钮进行视频的删除操作,用户只能删除该用户上传的视频。
-
用户更改用户信息以及用户密码功能:用户个性化管理中需要有用户可以更改自己的账户信息,如果密码泄露需要更改密码防止自己的账户被滥用。