版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Java的在线视频网站的设计与实现内容摘要ABSTRACTWiththehigh-performancehardwarewithadvancedimageandaudio-visualprocessingcapabilities,variousmobilephonesandcomputersareconstantlyembedded,makingmanypeoplebegintousesmallandconvenientcomputersandmobilephonestowatchvariousvideos.Inordertomakeitfundamentallyconvenientforuserstowatchallkindsofvideosontheirmobilephonesandcomputers,itisnotnecessaryforuserstodownloadallkindsofsoftwareontheircomputersandmobilephones.Userscanwatchallthevideosonthewebsiteonlinebybrowsingthewebpage.Therefore,itisverynecessarytodesignavideoplaybacksystem.Basedonthecurrentexistingtechnologies,thispaperdescribestheprotocolprinciple,softwarestructuredesignandimplementationofinteractivevideoondemandsystembasedonJava.ThesystemusesJavaanddatabasetechnologytoestablishanonlinevideoondemandplatform.Throughtheonlinevideoondemandplatform,userscanbrowse,playanddownloadthevideoinformation.Thesystemrunswellthroughthetest.Thissystemisonlylimitedtotheapplicationlayerprogram,mainlyconsideringtheoperationefficiencyanduserfunctionalrequirements,doesnotincludethebottomfileanalysisofvariousdiscussions.Keywords:Java;VideoPlayer;ServiceSatisfaction;UserReviews;SentimentAnalysis;RankingAlgorithmTOC\o"1-3"\h\u1178一、绪论 18093二、视频网站的发展概述 124480(一)发展现状 130692(二)发展过程 217380三、开发环境介绍 22158四、在线视频点播系统模型 319556(一)在线视频点播系统程序流程 327187(二)视频网站的数据库设计 4144331.数据库表的概念结构设计 4268692.数据库表的逻辑结构设计 44115(三)在线视频点播实现 54508五、测试 111032(一)系统测试的目的 1129855(二)系统的具体测试 121139六、结论 1417561参考文献 15一、绪论在线播放视频是视频网站为用户提供的能够在线点播视频的服务,包含了长视频、短视频以及直播等等。视频网站的实现给人们的娱乐生活,学习工作等各个方面带来了与以往完全不同的方式。互动式的视频点播包括了通信、电视以及计算机,并将这三类集于一体的综合类技术。在线视频网站依靠相关的技术进行了功能方面的更改,改良了以往不能主动挑选浏览演出的方法,拥有能够随意播放的功能[1]。不仅如此,它结合文字、静态图片等内容提供交互式服务给用户,扩展了宽带,媒体等相关服务的应用。视频网站,具有用户自创内容、用户互动以及开放等特点,同时允许用户上传、观看和分享视频片段。系统将用户上传的各种格式的文件变换成普通的格式,之后便可以进行点播等操作。视频网站的中心思想是“以用户为中心,免费分享为前提”[2]。视频网站也是在Web2.0时代中形成的。与Web1.0相比,Web2.0也是新生互联网应用的总称。这是一场从主要内容到外部应用的革命。利用web浏览器阅览HTML页面为早期Web1.0的简单浏览模式,到如今内容更加的丰富、连接更强。目前Web2.0网络形式的进步现已成为了网络发展的新趋势。依靠浏览器来完成用户信息的获取,是Web1.0最大的特点,但Web2.0更关注用户的交互方面。用户具有两个身份,即用户既能观看网站的内容,也同样能制作网站的内容。因此视频网站也结合了Web2.0的一些特点:首先在技术方面,增强了视频网站运行的工作效率。其次在交互方面,视频网站提升了网络中人们之间的交流和文件交换。最后在内容部分,是由用户来制作视频然后上传网站,分享视频。并通过自己的能力带动了网站中内容数量的增多。二、视频网站的发展概述(一)发展现状经历持续的市场竞争,国内长视频平台格局逐渐趋于稳定,其中内容影视和内容版权是视频网站成本主要的组成部分。国外的网络视频具有一套独有的检查测试的体制。该体制不仅能够完整且严谨地将用户及其浏览量,点击数等数据进行检测。同时还可以促进不同领域对其相关信息进行研究和总结[3]。在业界内的专家们看来,视频网站有着整体集中的趋势。视频网站目前还没有形成明显的领袖,然而市场走向集中。目前只有几家具有流量、规模相对较大。并且,还有许多因素制约着视频网站的发展,例如:带宽,服务器成本,广告收益的涨幅以及版权问题等等。(二)发展过程Youtube是国内外最早发展的视频网站,能够为人们提供上传、浏览以及分享视频等相关服务,包括电影电视剧的片段,用户个人剪辑的视频等等[4]。信息技术以及网络技术的不断提高的同时,国内的视频点播网站也在不断地进行更新和发展。在其发展的这些年来,视频网站深深地改变了人们的生活,视频网站也成为大众网络娱乐的一个重要方式,人们上网依靠观看动态的视频更加生动地来了解外部的消息,从而逐渐代替仅以文字、图片等静态的方式。三、开发环境介绍本系统架构为SpringBoot+SpringMVC+Mybatis+Themeleaf+Jpa+html(ssm架构)数据库:Mysql开发语言:Java前台使用bootstrap框架(1)SpringBoot它基于4.0的设计,拥有原版框架所具有的突出特点。同时它还集合了许多其他的框架。结合这些框架,在实现原有功能的基础上完善了因依赖包的版本不一致所导致的矛盾,同时还处理了使用操作不稳定等故障。其运行容易,并且内置tomcat,因此不用再额外地配置tomcat便可启动项目。(2)SpringMVC目前MVC在网页开发的过程中愈来不容忽视,且具有不可替代的作用。其在构建项目的过程中能够严谨地依据分层的理念来进行开发。同时由于项目所需要的内容日益改变,其功能也逐渐地扩展延伸。(3)Mybatis系统使用其插件tk.mapper即通用Mapper,其目的是用来处理单表的增删查改。程序员不必额外编写SQL,也不用在DAO中添加新的方法。只要将实体类写入项目中,便可以提供相应的增删查改等方法。(4)Thymeleaf该引擎是基于Java开发,在系统中有着至关重要的作用。它能够将后台的数据传输到前台,并将系统中所要用的相关信息从数据中提取出来,再应用到前台。(5)HTML该语言具有标识作用。许多标签存在于该语言内,并且这些标签具有至关重要的作用。现如今存在各式各样的文档格式,该工具能够将这些不同的格式保持一致。此外,该语言还具有将散开的资源凝聚成一个更具逻辑性的整体的能力。在开发网页时,大多数情况下都会依靠HTML命令对动态文件,音乐,文档等内容来进行描述。(6)JPA刻画了关系表与对象的一种相互对应的关系。在该软件运作的过程中,其能将目标对象在需要存储的目标设备中相对长久地保存。其在系统操作期间能够主动地构造表以及字段,因此用户就不需要再考虑数据库的其他方面。(7)MySQLMySQL因为其体积小、速度快、总体需要的成本不高,特别是在开放源码的方面。因此,绝大多数情况下中小型的网站都会利用它用来充作网站数据库,来进行网站的建立。(8)BootStrapBootstrap被用来开发前端,拥有着精简、强大等优异的特点。具有快速地建立网页的功能。在国内,许多程序员在开发网站时所用到的框架,都是在Bootstrap源码的基础上将其功能方面进行了改良。本系统的特点:在启动项目时,能够自动建库、建表、建字段,若需要在对象中添加新的属性,则添加字段即可,数据表会自动新增字段。四、在线视频点播系统模型(一)在线视频点播系统程序流程视频点播系统的流程图,如图4.1所示。首先,打开系统的主界面,并进行登录;如果用户已有账号可直接登录,并进行相关的操作;如果没有账号,就注册并登录;倘若是管理员登录该系统,则进入相对应的系统界面,接下来就可以进行相关的操作。图4.1视频点播系统的程序流程图(二)视频网站的数据库设计1.数据库表的概念结构设计在整个系统设计的过程当中,最关键的便是数据库的结构设计。它关系着程序最终是否能够达到用户满意的结果。由于此系统总体上分为用户端和管理员端两大模块,且这两大模块有公用的数据。出于增加系统的运行速度的目的,同时也要确保用户在操纵时数据的安全和完整。该系统所设想的系统数据库表,主要包括以下五个实体:视频、评论、用户、评论以及社区,每一个实体都表示数据库里的一个表,表与表之间都是有关系的,因此实体之间也是有关系的[5]。2.数据库表的逻辑结构设计该系统利用了MySQL来存储用户,视频,评论以及管理员的信息。由于其体积小、速度快、总拥有成本低,为了降低网站的总拥有成本,本系统选择MySQL作为网站数据库,表的具体设计如表4-1表4-4所示:表4-1用户信息表字段名字段描述字段类型长度userName用户名varchar255password密码varchar 255lastLoginTime上次登陆时间datetimesex性别varchar 255email邮箱varchar 255love爱好varchar 255sign个签varchar 255image头像varchar 255表4-2管理员的信息表字段名字段描述字段类型长度adminName用户名varchar255password密码varchar 255lastLoginTime上次登陆时间datetime表4-3评论人信息表字段名字段描述字段类型长度userName评论人varchar 255userId评论人IDlong20image评论人头像varchar 255commentName标题/音乐名varchar 255commentIdIDlong20commentContent内容varchar 255type评论类型varchar 255表4-4视频的信息表字段名字段描述字段类型长度musicName标题名varchar 255image视频封面varchar 255path视频路径varchar 255musicStyle视频风格varchar 255thumbsNumber点赞数int10fxdate发行日期varchar 255musicLry描述varchar 255thumbsUserName点赞用户idvarchar 255(三)在线视频点播实现部分功能代码如下:管理员登陆后对用户进行管理packagecom.base.action.manage;importcom.base.config.Global;importcom.github.pagehelper.PageInfo;importjava.util.Arrays;/***CreatedbyAdministratoron2021/2/20.*/publicclassUseControl{@AutowiredprivateUseServiceuseService;@GetMapping(value="/add")publicModelViewadd(ModelViewmv,Stringid){mv.addObject("obj",newUse());mv.setnewName(Global.manager+"useAdd");if(id!=null){//编辑Useobj=this.useService.getOne(Long.parseLong(id));mv.addObject("obj",obj);}returnmv;}@PostMapping(value="/save")publicModelViewsave(ModelViewmv,Useuse,@RequestParam("imgfile")MultipartFileimgfile){ if(!imgfile.isEmpty()){ StringimagePath=CommUtil.uploadFile(imgfile); user.setImage(imagePath); } this.useService.save(use);StringreturnUrl="/manage/use/List";mv.setnewName("redirect:/success?url="+returnUrl);returnmv;}@GetMapping(value="/delete")publicModelViewdelete(Stringids,ModelViewmv){Arrays.asList(ids).stream().forEach((item)->{if(!StringUtils.isEmpty(item))this.userService.delete(Long.parseLong(item));});StringreturnUrl="/manager/user/pageList";mv.setViewName("redirect:/success?url="+returnUrl);returnmv;}@GetMapping(value="/pageList")publicModelViewList(ModelViewmv,StringcurrentPage,Useruser){mv.setnewName(Global.manage+"useList");PageInfopageInfo=this.userService.pageList(currentPage,use);mv.addObject("pageInfo",pageInfo);returnmv;}/***查看详情**@parammv*@paramid*@return*/@GetMapping(value="/detail")publicModelViewdetail(ModelViewmv,Stringid){StringreturnUrl="/manage/use/List";mv.setnewName("redirect:/error?url="+returnUrl+"&msg="CommUtil.encodeUtf8("数据不存在"));if(id==null){returnmv;}Userobj=this.userService.getOne(Long.parseLong(id));if(obj==null){returnmv;}mv.setViewName(Global.manager+"userDetail");mv.addObject("obj",obj);returnmv;}}(2)用户功能模块的实现 根据对现实中部分用户的基本需求分析,本系统总体上分为用户端和管理员端两部分,用户使用用户端实现歌曲浏览、下载和点赞,管理者使用管理员端进行歌曲的上传。1)系统主页面用户浏览的视频播放器主界面如图4.2所示:图4.2系统主界面此页面的服务对象是所有浏览该页面的用户,因此当用户浏览该页面时,无需注册登录,只需跟随自己的喜好进行浏览,为了提高用户的使用率,增加潜在用户,此系统主页面免费模块的视频可以供所有用户免费浏览观看。2)视频详情主界面用户浏览的视频详情主界面如图4.3所示:图4.3视频详情主界面当用户点击视频作品后,该系统即可进入对应视频的概况页面,用户可在该页面观看视频、下载视频、评论视频以及点赞该视频。为了保护已注册系统的用户的利益,系统的视频谈论、下载视频、点赞视频和部分视频观看仅限已注册系统的用户使用。因此为了区分访问者和系统用户,用户在操作此页面时需要登录。为了增加使用该系统的用户数量、提高访问量,该系统为游客提供了注册服务,当游客希望成为该网站的用户时,只需点击注册按钮输入相应数据,即可完成注册。考虑到用户的数量可能会非常庞大,为了便于用户数据储存与使用,系统对用户的身份做了唯一标识,但为了方便用户登录该系统,因为用户在注册时需要注册不同的用户名,以便于系统对用户进行标识。3)管理员主界面管理员主界面如图4.4所示:图4.4管理员主界面管理员应当输入准确的账号以及密码,才能成功地登录管理的菜单页面,之后便可以在该页面的系统菜单里进行操作。管理员可在这个界面进行视频详细信息的输入、查看用户的评论是否合理、处理用户的具体消息及其个人账号的处理。当管理员输入的管理员名和密码错误时,则管理员需重新输入,直到页面显示登录成功为止。由于管理员端的主要操作为视频详细信息的输入和用户评论信息的查看两部分,因为其余的设计也较为简单。4)视频详细信息输入界面管理员在管理员端主页面,点击视频添加按钮,即可进入视频详细信息输入主界面,具体页面如图4.5所示:图4.5视频详细信息输入界面在这个页面上管理员需输入具体的视频信息,待所有的视频信息输入完成后,管理员通过点击提交按钮即可完成对应视频信息的发布,待数据存入数据库中后,用户可在此系统的主页面上浏览到该视频的信息,若用户喜欢该视频,通过点击该视频进入详情页面,观看管理员最新上传的视频。管理员可以通过点击视频列表按钮,进入视频列表页面,查看刚刚发布的视频中的所有信息,为了方便管理员,系统在页面中设计了视频的删除、修改功能,如果管理员对刚刚发布的视频中的具体信息不满意,单击“修改”按钮并进入“修改”页面。5)管理员端评论界面管理员端评论界面作为管理员端的一个主要功能界面,是用来查看用户发布的评论信息。由于技术有限,且文字语义识别非常困难,因此该程序对于用户文字的评论并未进行处理,无论用户的评论是否含有违规内容,均将其存入对应的数据表中,待存入数据表后,用户端和管理员端均会显示出用户评论的具体信息,管理员通过查看将用户输入的不当言论识别出来,并将其立刻删除掉,以维护网络语言环境。6)个人信息界面用户在登录后可以在个人信息页面修改自己的用户名,邮箱,密码等等。具体的页面如图4.6所示:图4.6个人信息界面为了便于用户进行注册,用户注册时只需输入用户名、密码、电话以及验证码,即可完成注册。通过数据调查,很多用户在注册完成之后,会对自己的个人信息进行一定的修改,为了提高用户对此程序的使用频率,该系统在总体设计时,也设计了同样的功能模块。7)用户端评论管理界面用户在对应的视频页面下,发布完所编辑的评论后,若无不当评论,即可在评论管理界面看到自己发布的所有评论,具体的页面如图4.7所示:图4.7用户端评论管理界面为了方便用户对所观看的视频进行评论,具体的评论框表设计在视频的下端,用户只需在评论框中输入自己想要评论的信息后,只需点击提交按钮,即可发布完成。由于此系统并未在整体编写的代码中编写,自动识别不合语义的评论并显示输入不合法语言,因此用户的评论是否符合当前网络环境规范,均需管理员对其进行查看,待管理员查看完毕,用户的评论无不当,即可显示在视频详情页面之中。五、测试(一)系统测试的目的(1)保证系统质量系统测试最主要的目的就是保证系统的总体质量,确保用户的各种需求功能可以正常使用,尽可能避免在用户使用高峰期时,出现服务器被突然挤爆,用户不能正常使用系统的情况。(2)确保系统安全第二个目的是为了确保系统的数据安全。无论用户如何进行操作,外界如何攻击该系统,都要确保该系统的所有用户信息不会被非法盗取。为了提高数据的安全性,系统还对部分数据进行了加密。(3)降低开发成本第三是为了降低系统的开发成本。提高用户的使用效率,增加使用该系统的用户数量,此系统目前的所有视频供所有用户和游客观看。为了降低开发的成本,主要是穿插一些小广告在用户浏览的所有页面之中。(二)系统的具体测试此系统以实用性为主要点,功能设计简单明了,便于目前浏览网页观看视频的各种年龄段用户进行使用和操作。由于整体设计简洁,功能模块划分明确,因此目前设计的所有功能均已通过单元测试,出现的软件和硬件错误较少,为了尽可能的减少软件运行时出错的机会,本文对此系统做了一定的测试,以保证使用者的使用,基本的测试流程如下所示:(1)登录注册,对用户登录注册和管理员登录注册的错误和正确性进行测试,检查输入的错误信息是否可以成功登录或注册。(2)通过输入给定的IP网址进入系统首页,查看主页面的菜单栏信息是否显示成功,用户注册与登录按钮是否可以点击成功,视频概况页面是否可以打开。(3)视频详情页面,随意输入评论信息点击提交按钮查看是否可以发布成功;点击点赞按钮是否可以点赞成功;点击下载按钮,视频是否能下载成功。(4)评论界面,用户评论后,管理员端、用户端以及浏览器页面上是否能够查看到具体的评论信息。(5)个人信息界面,用户登录用户端的页面后,是否可以查看到自己输入的个人具体信息。(6)视频详细信息输入主界面,管理员在视频详细信息输入主界面输入具体的视频信息后,用户是否可以在主页面查看到具体的视频信息。根据上述测试流程图,在系统管理员和用户的系统都正确启动的情况下,本文根据现实情况设置了一定的测试用例,具体的测试用例如下:(a)在线视频点播系统等价类划分如下表5-1所示:表5-1视频网站的等价类划分输入条件有效等价类无效等价类用户输入对应的账户和密码用户名和密码正确(1)用户名和密码错误(2)管理员输入对应的账户和密码用户名和密码正确(3)用户名和密码错误(4)管理员对视频信息的提交填入数据有效(5)填入数据无效(6)用户对评论信息的提交填入数据有效(7)填入数据无效(8)用户对视频的点赞点赞成功(9)点赞失败(10)用户对视频的下载下载成功(11)下载失败(12)管理员对视频的删除删除成功(13)删除失败(14)用户主动点击退出按钮退出有效(15)无管理员主动点击退出按钮退出有效(16)无(b)分别使用管理员账户和用户账户登录成功后,进入视频网站系统,对登录后的界面进行功能测试,具体的测试用例如下5-2所示:表5-2界面功能测试用例功能名称操作的目标信息用例覆盖等价类界面提示操作结果测试结果登录(用户名who)密码:1234567890(1)登录成功登录成功通过登录(用户who)密码:123456(2)登录失败,账号或密码错误登录失败通过登录(管理员admin)密码:1234567890(3)页面跳转,进入主页登录成功通过登录(管理员admin)密码:xxxxxxx(4)登录失败,账号或密码错误登录失败通过添加视频信息添加正确用户信息(5)提交成功增加成功通过添加视频信息不输入任何信息,并点击提交按钮(6)提交失败增加失败通过添加评论信息添加正确垃圾信息(7)提交成功增加成功通过添加评论信息不输入任何信息,并点击提交按钮(8)提交失败增加失败通过点赞点击点赞按钮(9)点赞数量加一点赞成功通过点赞点击点赞按钮(10)点赞数量不变点赞失败通过下载视频点击下载按钮(11)有下载显示下载成功通过下载视频点击下载按钮(12)无下载显示下载失败通过删除评论点击删除按钮(13)评论从列表中消失删除成功通过删除评论点击删除按钮(14)评论仍在列表中删除失败通过用户退出点击退出按钮(15)无跳转到主页面通过管理员退出点击退出按钮(16)无跳转到主页面通过根据如上的测试用例测试,此系统并未出现任何异常情况,可以供各种用户正常使用。六、结论本文通过浏览相关的资料,进行参考,从而实现了本系统,系统能够依据不同角色的需求,来完成相应的操作。经过多次测试,最终完成了基于Java的在线视频网站系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度青海省公共营养师之四级营养师真题练习试卷B卷附答案
- 2024年度青海省公共营养师之二级营养师真题练习试卷B卷附答案
- 2024年度青海省公共营养师之二级营养师练习题及答案
- 2024年度黑龙江省公共营养师之三级营养师能力提升试卷A卷附答案
- 2024年度青海省公共营养师之三级营养师每日一练试卷A卷含答案
- 2025年度发布个人抵押车简单合同规范细则2篇
- 2025版农村宅基地使用权流转交易平台建设合同3篇
- 2025年度钢管架构件生产与运输合同
- 2025年度农业产业化龙头企业融资抵押借款合同范本4篇
- 二零二四年度协议离婚后子女教育辅导合同3篇
- GB/T 45120-2024道路车辆48 V供电电压电气要求及试验
- 2025年中核财务有限责任公司招聘笔试参考题库含答案解析
- 春节文化常识单选题100道及答案
- 华中师大一附中2024-2025学年度上学期高三年级第二次考试数学试题(含解析)
- 12123交管学法减分考试题及答案
- 2025年寒假实践特色作业设计模板
- 《数据采集技术》课件-XPath 解析库
- 24年追觅在线测评28题及答案
- 食堂项目组织架构图
- 原油脱硫技术
- GB/T 2518-2019连续热镀锌和锌合金镀层钢板及钢带
评论
0/150
提交评论