【《短视频播放系统设计》15000字】_第1页
【《短视频播放系统设计》15000字】_第2页
【《短视频播放系统设计》15000字】_第3页
【《短视频播放系统设计》15000字】_第4页
【《短视频播放系统设计》15000字】_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

引言1.1短视频的研究现状随着短视频的快速发展,现已经成为人们生活中的一部分,短视频已经融入到了人们的生活中;有的用短视频来获取信息、有的用来工作获得经济收入、有的用来分享生活抒发心情。相较于传统视频,短视频主要存在三大特点:生产成本低,传播和生产碎片文化;传播速度快,社交属性强;生产者与消费者之间界限模糊。我国短视频以2013年开始逐渐进入观众视野;2017年,短视频总播放量以平均每月10%的速度爆炸式增长;到目前短视频已经进入到一个比较完善成熟的阶段。1.2短视频的特点不同于微电影和直播,短视频的制作并没有想象微电影一样具有特定的表达形式和团队配置要求,具有生产流程简单、制作门槛低、参与性强等特点,又比直播更具有传播价值,超短的制作周期和趣味化的内容对短视频制作团队的文案及策划功底有着一定的挑战,优秀的短视频制作团队通常依托于成熟运营的自媒体或IP,除了高频稳定的内容输出外,也有强大的粉丝渠道;短视频的出现丰富了新媒体原生广告的形式。1.3本文实现的总体架构JSP中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML中插入Java程序段,从而形成JSP文件。使用JSP开发web项目的原因如下:1.它可以方便有效地以模板的方式添加动态web内容。2.使用JavaBean和标记库技术可以重用常用的功能代码。标记库不仅有一个通用的内置标记,而且还支持具有可扩展功能的自定义标记。3.良好的工具支持。4.它继承了Java语言的相对易用性。5.继承Java的跨平台优势,实现“一次编写,到处运行”。由于支持Java及其相关技术的开发平台很多,网站开发人员可以选择在最合适的系统平台上开发JSP,在不同环境下开发的JSP项目可以在所有客户端上顺利访问。6.页面中的动态(控制更改内容的部分)/静态(不需要更改的部分)区域以分散但有序的形式组合在一起,可以使人们更直观地看到页面代码的整体结构,使设计页面效果和程序逻辑容易分离。这样便于人员调配,充分发挥各自优势,实现高效分工协作。7.它可以与其他企业Java技术合作。JSP只能负责页面中的数据表示,以及实现分层开发Eclipse是一个可扩展的、开源的Java程序开发平台。它的本身是通过插件组件来构建开发环境的框架或服务。eclipse附带了一组标准插件,包括java开发工具包等。Tomcat服务器是一个开源的web应用服务器。适用于一些中小型的系统,是刚刚接触Tomcat服务器的人开发和调试JSP程序的最佳选择。可以使用它来响应HTML页面访问请求。但是,实际上Tomcat只是Apache服务器的一个扩展,所以当我们在运行Tomcat时,实际上它是作为一个独立于Apache的进程运行的。MYSQL是一个关系数据库管理系统。目前,MYSQL也是最受欢迎的关系数据库管理系统之一。在JSPweb应用中,MYSQL是最佳选择。本文将使用Java编程语言,使用eclipse作为开发平台,使用B/S(浏览器/服务器)框架,用Tomcat作为服务器,后台数据库使用MYSQL,设计并实现一个短视频播放系统。1.4本章总结本章主要是在设计短视频播放系统的初期,对短视频的近期发展、研究现状、特点做了详细的介绍,并对本文实现的总体设计架构进行了叙述。

2相关技术2.1JSPJSP是美国的Sun公司开发的一种动态web页面技术标准,是通过网络服务器上的JSP响应客户端发出的请求,并且能够根据请求的内容动态地生成HTML或其他格式文档的网页,然后将生成的结果返回给请求用户。JSP技术是使用Java语言为脚本语言,为用户的请求提供服务,可以和服务器上的其他Java程序一起处理复杂的业务需求的技术。JSP是把特定的程序,利用JAVA语言来嵌入到静态页面中,然后以静态页面为模板实现部分内容的动态生成。JSP引入XML标记来调用内置函数。除此之外,用户还可以创建自己的JSP标记库,然后类似于标准HTML或XML标记一样使用它们。标签库可以增强功能和服务器性能,不受跨平台问题的限制。JSP文件在运行时由其编译器转换为更原始的Servlet代码。JSP编译器将JSP文件编译成用Java代码编写的Servlet,然后再编译成Java编译器可以快速执行的二进制机器码,或者直接编译成二进制代码。2.2JAVA语言java是一门面向对象的编程语言。java语言具有功能强大和简单易用两个特征,Tens具有简单性、面向对象、分布式等特点,可以编写桌面应用程序、web应用程序、分布式系统和嵌入式系统应用程序等。它的语言特点有:简单性:Java看起来设计的很像C++,但为了使语言小和容易熟悉,设计者们把C++语言中的许多可用的特征去掉了,这些特征一般程序员很少使用的。面向对象:Java是一个面向对象语言。对程序员来说,这意味着要注意应用中的数据和操纵数据的方法,而不是严格的用过程来思考。在一个面向对象的系统中,类是数据和操作数据的方法的集合。数据和方法一起描述对象的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层体系中有一个跟类,它是具有一般行为的类。Java程序用来组织的。Java还包括一个类的扩展集合,分别组成各种程序包,用户可以在自己的程序中使用。分布性:Java设计成支持在网络上应用,它是分布式语言。Java及支持各种层次的网络连接,又以Socket类支持可靠的流网络连接,所以用户可以产生分布式的客户机和服务器。网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。编译和解释性:Java编译程序生成字节码,而不是通常的机器码。java字节码提供对体系结构中性的目标文件格式,代码设计成可有效传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统的系统上运行。(5)稳健性:java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。它还有安全性、可移植性、高性能、多线索性、动态性等特点。2.3Tomcat服务器

Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,有Apache、Sun和其他一些公司及个人共同开发而成。Tomcat服务器是一个免费的开放源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat服务器是一个开源的web应用服务器。适用于一些中小型的系统,是刚刚接触Tomcat服务器的人开发和调试JSP程序的最佳选择。可以使用它来响应HTML页面访问请求。但是,实际上Tomcat只是Apache服务器的一个扩展,所以当我们在运行Tomcat时,实际上它是作为一个独立于Apache的进程运行的。2.4MYSQLMySQL原本是一个开放源码的关联式资料库管理系统;MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。2.5B/S(浏览器/服务器)架构B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,

WAN,

Internet/Intranet等)访问和操作共同的数据;这是一种WEB兴起后的网络结构模式。此结构的优点最大优点就是只需要通过浏览器便可进行访问,而且系统的功能是服务器端实现的,未来系统的更新,维护以及数据的管理只需要在服务器端进行操作便可,极大简化了工作量。而且如果有新的功能更新,只需要编写相应的动态网页,对原来的系统不会有太大的影响,因此,扩展性良好。综上所述,从技术上实现本系统是可行的。2.6MVC设计模式MVC是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。在MVC结构中,模型(Model)代表应用程序的数据和控制访问和修改这些数据的业务规则。通常模型被用来作为现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般简单的建模技术。当模型发生改变时,它会通知视(View),并且为视提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。一个视(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视同时将用户要求告知控制器(Controller)。

控制器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器。2.7本章总结本章详细地介绍了短视频播放系统所涉及的一系列相关技术。在整个系统的设计过程中,如何选择实现方法,需要综合考虑技术实现的难度和实用性。在本系统的开发过程中,对于开发技术的选择,需要考虑实际需求和可实现性。通过对以上的技术可行性等方面分析,本系统的设计是可行的,是可以被用户理解和使用的。因此,该系统是具有一定的使用价值和现实意义的。3系统需求分析3.1总体需求分析回顾过去几年,短视频的发展可谓是十分迅速。尤其是在2017年以后,短视频的发展是突飞猛进。不仅引领了一种新的潮流更是带动了国家的经济发展。得益于人类在互联网的飞速发展和智能手机的普及。近几年来,互联网的迅速发展,使它全面融入经济社会生产和生活各个领域,引领社会产生了新的变革,创造了人类生活新空间。而正因为互联网的快速发展而带动了短视频的迅速发展,使得短视频成为了现在人们生活中不可或缺的一部分,带动了人们的生活和经济的发展。人们通过拍摄一些生活中有趣的视频上传分享,还有的人们通过分享一些人们感兴趣的话题东西获得流量与粉丝,从而通过短视频推销商品、旅游等各种活动,从中获得经济收入。短视频的作用越来越多,现在很多明星网红都加入了很多短视频平台比如抖音、快手等,短视频对我们的生活影响也越来越广泛、越来越重要。现在人们能通过短视频分享视频、观看视频、甚至从中获益。实现这一目的的前提就是互联网的快速发展和只能手机的普及。本文结合当前人类社会的互联网快速发展和计算机成熟的背景,在通过大量的网络数据调查,并查短视频几年来的发展与影响的数据库,结合大量相关的短视频资料,并请教相关的老师和同学后,设计实现了一个短视频播放系统,明确了本系统的目的是为用户提供简洁操作界面,给用户提供一个方便简洁能分享视频、观看视频的一个短视频播放系统。3.2用户需求分析本系统对所设计的用户的需求分析主要有以下几点:用户可以通过短视频平台进行视频上传;用户可以通过短视频平台搜索想要观看的电影、综艺、视频进行观看;用户可以通过短视频平台上传视频,分享生活;用户还可以查询个人信息并且对信息进行修改;用户可以进行登录注册等操作;用户可以查看自己的上传进度,是否被管理员审核通过便且上传成功。3.3管理员需求分析本系统对系统管理员的需求分析主要有以下几点:管理员可以搜索用户,查看用户信息;管理员可以对用户进行删除操作;管理员登录后可以注册新的管理员,对新管理员进行删除操作;管理员可以修改自己的密码管理员可以播放视频管理员可以搜索视频;管理员可以删除视频;管理员还可以对普通用户上传的视频进行审核。3.4其他需求(1)硬件需求eclipse最低配置512M内存,双核CPU,320G硬盘,在这系统配置之上的电脑都可以。(2)软件需求本程序是使用Eclipse下的JAVAEE平台开发,并结合tomcat服务器和MYSQL数据库。本程序运行在Windows操作系统中。对软件系统的要求如下:操作系统:Windows10程序平台:EclipseMYSQL库:5.0版本NAVICATFORMYSQL管理Tomcat服务器:7.0JDK:jdk-7u71-windows-x64(3)代码设计结构:MVC设计模式(JSP、servlet、service、dao、数据库)数据类型层vo3.5本章小结本章主要目前保讲述了短视频对现在人们的生活发展等带来的影响,接着对用户需求和管理员需求进行了分析详述,通过两者的需求来确定技术的实现方案,宏观上有助于系统的整体方向的把握。准确的理解用户和项目的功能、性能、可靠性等具体要求,树立好一个明确的系统整体走向,从而提高开发效率、降低开发成本、优化产品质量。

4系统总体设计4.1设计目标可行性:在可用的技术平台和软件项目的可用资源条件下,采用预定的程序设计可以实现该设计。安全性:要求用户进行合法的注册登录,其他任何非法途径都无法进入系统。3.经济可行性:经济可行性主要是对项目进行成本与收益的分析,包括项目的研发成本,以此判断该项目是否应该被执行。该系统的开发不需要投入资金,也不需要太多的人力物力,就能满足普通用户、管理员的一些基本需求4实用性:系统应尽量直观的展示用户所要查询观看的视频,从电影,综艺、短视频等多分类进行呈现,搜索选项也尽可能覆盖基本用户需求。4.2总体模块设计本系统根据系统的实现流程,主要模块分为普通用户模块和管理员模块两大模块,普通用户包含(用户登录、注册、播放视频、搜索视频、上传视频、查看个人信息、修改个人信息);管理员包含(管理员登录、修改个人密码、管理员注册、管理员删除、查询用户、删除用户、查询视频、播放视频、删除视频、审核视频)系统的整体功能模块结构如图4-1所示:图4-1总体模块图4.3数据库结构设计数据库,又称为数据管理系统,是处理的数据按照一定的方式储存在一起,能够让多个用户共享、尽可能减小冗余度的数据集合。一个数据库可以由多个数据表空间构成,用户可以对文件中的资料运行新增、截取、更新、删除等操作。在本系统中总共使用了张三表:用户信息表(id,姓名,账户,密码)

视频信息表(id,封面,视频,上传类型,上传状态,时间,作者)

管理员信息表(id,姓名,密码)具体表的各个属性如下所示:(1)表名:user.db,显示用户的基本信息表4-1用户基本信息表列名类型说明允许空值UserIDint用户ID否UserNamevarchar用户名否Passwordvarchar密码否Accountvarchar账户是(2)表名:video,显示视频的基本信息表4-2视频信息表列名类型说明允许空值videoidint视频ID否Videonamevarchar视频名字否picturevarchar视频封面路径否videovarchar视频路径否Type1Vchar上传类型1否Type2varchar上传类型2否timevarchar上传时间否statuevarchar上传的状态否authorvarchar视频作者否表名:admin,显示管理员的基本信息 表4-3管理员信息表列名类型说明允许空值IDint管理员ID否AdminNamevarchar管理员名字否Passwordvarchar密码否 数据库的E-R图4-2用户及其属性E-R图4-3视频及其属性E-R图4-4管理员及其属性E-R图4-5系统E-R图4.4系统的工作流程本系统的基本操作流程如下:(1)普通用户开始进入登录和注册界面,如果是第一次登录则需要注册,注册成功后会自动跳转到登录界面。(2)普通用户输入正确的用户名和密码进行登录。(3)登录成功后可进入平台首页,首页会有一些电影、综艺、短视频类的小视频进行展示,用户可以直接点击播放。也可以点击菜单栏上的电影、综艺、短视频对自己感兴趣的类别进行观看;用户还可以同过搜索功能精确查找自己感兴趣的视频进行观看。(4)用户还可以点击个人信息,然后对自己的信息进行查看或者修改;用户还可以点击上传视频栏,分享自己的视频。分享的视频需要管理员进行审核,用户上传视频后可以随时查看自己的审核进度。(5)数据库后端添加好的管理员可以通过管理员登录界面直接输入用户名和密码登录。(6)登录成功后进入管理员界面可以对自己的密码进行修改,还可以添加新的管理员;管理员可以点击首页菜单栏的用户按钮对用户进行查询、删除等操作。(7)管理员还可以在管理员界面对对视频进行查询、播放、删除等操作;还可以点击视频审核栏对用户上传的视频进行查看,看是否存在违规视频,如果合格可以点击审核通过,未达到要求可以点击审核未通过,用户在相应的用户端也能看到自己视频的审核进度。4.5本章总结本章主要介绍了系统的总体设计并对其进行了详细的分析,其中包括设计目标,系统总体模块的设计,还包括了数据表的详细设计(包括用户信息表、视频信息表、管理员信息表),还有整体上的一个大概的操作流程。5系统详细设计5.1系统详细设计的介绍详细设计的基本任务是:系统机构的设计以及系统划分;系统功能模块的详细设计;系统界面的详细设计以及系统的详细设计流程。在这一阶段的设计工作完成后,用户就可以得到目标系统的准确描述,以便与能够在编码阶段将该描述翻译成程序。5.2模块详细设计本文设计中有两大模块,普通用户模块和管理员模块,而两大模块中又包含着许多子模块,把每个模块详细分析划分流程,会方便我们的设计,使我们的设计思路更加清晰和明确,提高我们的工作效率,节约成本和时间。5.3普通用户的主要几个模块详细介绍5.3.1用户登录模块模块功能:对用户登录的密码和身份进行检查用户登录模块的流程图为5-1图:用户登录流程图普通用户、管理员登录系统,在登陆页面输入账号和密码然后点击登录按钮,然后数据库会检测是否存在该用户且密码是否正确,如果正确则跳转到用户页面或者管理员页面,如果不存在或者密码错误则返回到登录页面并且提示错误。5.3.2用户信息查询修改模块模块功能:用户可以查询个人信息和对自己的信息进行修改用户信息查询修改流程图5-2图:用户个人信息查询修改流程图普通用户进入首页后,点击用户按钮,页面会跳出查看个人信息和修改个人信息两个功能,如果用户想要修改个人信息,就点击修改个人信息功能然后就可以对自己的信息进行修改,输入要修改的信息点击确认,左上角会提示修改成功;如果用户想要查看个人信息就点击查看个人信息功能然后就可以查看自己的详细信息,结束后点击左下角的返回按钮可以返回到用户界面,而点击左下角的修改个人信息则可以进入修改信息功能对自己的信息进行修改。5.3.3用户视频上传模块模块功能:用户可进行视频上传、分享视频上传视频流程图5-3图:上传视频流程图 用户登录成功后点击上传功能,上传视频需要满足三个(视频的信息、视频、封面)上传视频才能上传到平台上。首先用户先上传视频的信息,输入要上传的视频名称然后选择类型1是电影、小视频或者综艺,然后在选择类型2,根据前面选择的类型1来选择类型2如果前面选择的是电影类则第二类可选动作片、喜剧片、恐怖片等等,如果选择的是小视频则可以选择音乐、舞蹈、唱歌、跳舞、清新等等类型,如果选择的是综艺则可以选择访谈、搞笑、戏剧、喜剧、生活等等类型。然后输入自己的上传日期,点击上传左上角会提示上传成功,注意视频名称是不可以重复的如果重复左上角会提示上传失败,信息上传成功后开始上传视频,选择文件(自己电脑或者手机里的视频文件)点击上传左上角会提示上传成功,然后开始上传封面选择自己手机或者电脑准备好的图片封面选择上传左上角会提示上传成功,三个上传都上传成功后视频就已经上传到平台上了,刷新后可以搜索自己刚刚上传的视频进行播放,上传视频界面的左下角还有个查看我的上传的功能,因为上传的视频是需要审核的,用户可以通过这个功能查看自己的上传进度就是视频是否通过了管理员的审核。上传视频是本系统的一个主要功能,代码也是本系统中比较复杂的代码之一,上传视频的主要代码如下:packagecontroller;importjava.io.File;importjava.io.IOException;importjava.util.Iterator;importjava.util.List;importjava.util.UUID;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importmons.fileupload.FileItem;importmons.fileupload.FileItemFactory;importmons.fileupload.FileUploadException;importmons.fileupload.disk.DiskFileItemFactory;importmons.fileupload.servlet.ServletFileUpload;importservice.videoservice;@WebServlet("/UserUpVideoPicServlet")publicclassUserUpVideoPicServletextendsHttpServlet{ videoserviceservice=newvideoservice(); privatestaticfinallongserialVersionUID=1L; publicUserUpVideoPicServlet(){ super(); } protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ DiskFileItemFactoryfactory=newDiskFileItemFactory();ServletFileUploadupload=newServletFileUpload(factory);request.setCharacterEncoding("utf-8");upload.setHeaderEncoding("utf-8");Stringid=request.getParameter("id");try{List<FileItem>list=upload.parseRequest(request);System.out.println(list);for(FileItemfileItem:list){if(!fileItem.isFormField()&&fileItem.getName()!=null&&!"".equals(fileItem.getName())){StringfilName=fileItem.getName();Stringuuid=UUID.randomUUID().toString();Stringsuffix=filName.substring(filName.lastIndexOf("."));StringuploadPath="D:/biyesheji/Yangzhengmei/WebContent/video";Filefile=newFile(uploadPath);file.mkdirs();fileItem.write(newFile(uploadPath,uuid+suffix));Stringpicture=(uuid+suffix);System.out.println("地址为"+picture);System.out.println("序号为"+id);booleanflag=service.upvideopic(id,picture);response.setCharacterEncoding("GBK");if(flag==true){ request.setAttribute("id",id);request.setAttribute("msg2","封面上传成功");request.getRequestDispatcher("user-upvideo.jsp").forward(request,response);}else{ request.setAttribute("id",id); request.setAttribute("msg2","封面上传失败"); request.getRequestDispatcher("user-upvideo.jsp").forward(request,response);}}}}catch(Exceptione){e.printStackTrace();}} protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doGet(request,response);}}5.3.4视频播放模块模块功能:用户进入首页后可以点击感兴趣的视频点击播放按钮播放观看视频视频播放流程图5-4视频播放流程图用户登录系统进入首页后可以选择自己感兴趣的视频,点击播放按钮,播放视频进行观看。5.3.5视频搜索功能模块功能:用户可以通过输入视频名称精确搜索自己想要观看的视频视频搜索功能流程图

5-5视频搜索流程图普通用户登录系统后,在首页的菜单栏中会有一个搜索的功能,搜索功能的搜索框里会有提示(输入具体名称)就是用户可以输入视频的具体名称来查询视频,如果视频不存在则跳回搜索界面,如果存在搜索的视频则跳转出视频的封面和名称,用户只用点击名称就可以播放该视频。视频搜索的核心代码如下:packagecontroller;importjava.io.IOException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importservice.videoservice;importvo.videovo;@WebServlet("/UserSelectVideoServlet")publicclassUserSelectVideoServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L;videoserviceservice=newvideoservice();publicUserSelectVideoServlet(){super();//TODOAuto-generatedconstructorstub}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub request.setCharacterEncoding("utf-8"); Stringselect=request.getParameter("select"); System.out.print(""+select); List<videovo>list=service.selectvideo(select); request.setAttribute("list",list); request.getRequestDispatcher("user-select.jsp").forward(request,response);} }5.3.6用户注册模块模块功能:新用户可以通过注册功能注册账号,使用平台。用户注册模块流程图5-6用户注册流程图新用户第一次要先注册账号,点击注册按钮输入姓名、账户名、密码、确认密码、联系电话、电子邮箱然后点击注册。通过数据库来检验该账号是否被注册过,如果没有则注册成功直接跳转登录页面进行登录,如果已经有该账号则显示注册失败跳转回注册界面,用户可重新进行注册。5.4管理员模块详细设计5.4.1管理员登录模块模块功能:管理员通过该功能登录系统,进行一系列操作。登录流程图5-7管理员登录流程图管理员通过管理员登录入口输入账号密码进行登录,输入账号密码后会通过数据库进行检验,如果存在该管理账户并且密码正确则登录成功,会跳转到管理员首页界面,如果不存在该账号或者密码不正确则会跳转回到管理员登录界面。5.4.2管理员修改密码模块模块功能:管理员登录首页后可以对自己的密码进行修改。(2)管理员修改密码流程图5-8管理员注册流程图从管理员进入首页后可以点击修改密码功能修改密码,修改密码时需要输入旧密码,新密码,和确认新密码三步。如果输入的新密码两次不一样则修改失败左上角会提示因为两次新密码不一样需要重新输入,如果输入的密码和旧密码一样左上角也会提示新旧密码相同修改失败,如果输入密码与旧密码不一样而且新密码和确认新密码一样点击确认修改密码成功,左上角会提示修改成功字样。5.4.3用户管理功能模块功能:管理员通过该功能可以对用户信息进行查看、搜索用户、删除用户用户管理流程图5-9用户管理流程图管理员进入管理界面后,可以看到用户管理功能,用户管理功能下面由用户列表和用户查询两个功能。点击用户列表可以观看到所有用户的详情信息,并且还可以通过删除操作来删除有问题的用户;点击用户查询,管理员可以通过输入用户名或者账号、电话电子邮箱等任一信息搜索用户,输入信息后点击确认,然后通过数据库检验是否有符合信息的用户存在,如果有的话则回跳转出用户的详细完整的信息,如果没有的话则跳转回查询用户界面,可以重新输入信息查询。实现用户查询功能的主要代码如下:packagecontroller;importjava.io.IOException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importservice.glyservice;importvo.uservo;/***ServletimplementationclassGlyUserSelectServlet*/@WebServlet("/GlyUserSelectServlet")publicclassGlyUserSelectServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; glyserviceservice=newglyservice(); publicGlyUserSelectServlet(){ super(); //TODOAuto-generatedconstructorstub } protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub request.setCharacterEncoding("utf-8"); Stringaccount=request.getParameter("account"); Stringusername=request.getParameter("username"); Stringphone=request.getParameter("phone"); Stringemail=request.getParameter("email"); System.out.print(""+account); System.out.print(""+username); System.out.print(""+phone); System.out.print(""+email); List<uservo>list=service.glyuserservlet(account,username,phone,email); request.setAttribute("list",list); request.getRequestDispatcher("gly-userservletlist.jsp").forward(request,response); }}5.4.4视频查询功能模块功能:管理员通过该功能可以查询视频、播放视频、删除视频等操作视频查询模块流程图5-10视频查询流程图管理员进入管理员界面后,可以看到视频管理下的视频查询功能,点击视频查询后,跳转到视频查询页面,可以输入视频的任一相关视频信息进行查询:视频名称、视频类型、年份等进行查询,输入信息后点击确认然后通过数据库进行检验,如果存在符合该信息的视频则会直接跳转到该视频的详情,用户可以看到视频的详细介绍,还可以进行视频播放和删除操作;如果数据库没有符合的信息则查询失败会跳转回查询界面,可以重新输入信息进行查询。管理员查询视频的主要代码如下:packagecontroller;importjava.io.IOException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importservice.glyservice;importvo.videovo;/***ServletimplementationclassGlyVideoSelectServlet*/@WebServlet("/GlyVideoSelectServlet")publicclassGlyVideoSelectServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; glyserviceservice=newglyservice(); publicGlyVideoSelectServlet(){super();//TODOAuto-generatedconstructorstub}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub request.setCharacterEncoding("utf-8"); Stringname=request.getParameter("name"); Stringvideotype1=request.getParameter("videotype1"); Stringtype2=request.getParameter("type2"); Stringtime=request.getParameter("time"); System.out.print(""+name); System.out.print(""+videotype1); System.out.print(""+type2); System.out.print(""+time); Stringj=request.getParameter("i"); System.out.print(""+j); inti=Integer.valueOf(j).intValue(); System.out.print(""+i); HttpSessionsession=request.getSession(); session.setAttribute("selectname",name); session.setAttribute("selecttype1",videotype1); session.setAttribute("selecttype2",type2); session.setAttribute("selecttime",time); List<videovo>list=service.glyvideoservlet(i,name,videotype1,type2,time); request.setAttribute("list",list); request.setAttribute("i",i); request.getRequestDispatcher("gly-videoselectlist.jsp").forward(request,response);}}5.4.5视频审核模块详细设计模块功能:用户在上传视频后,需要管理员审核,管理员通过审核功能查看用户上传的视频,评判是否合格。视频审核流程图5-11视频审核流程图管理员进入管理界面后,点击视频管理下面的视频审核功能,可以看到用户上传了且未有审核的所有视频,管理员可以看到每个视频的详情信息,还可以点击播放按钮播放视频,如果视频符合标准则点击通过按钮,表示该视频审核通过,用户也可以在用户界面上传视频功能中的查看上传进度那里看到自己的上传的视频审核已经通过;如果视频未达到标准则点击未通过按钮,视频则会自动删除,用户也可以在用户界面的查看个人上传进度那里看到自己的视频没有通过审核已经被删除。视频审核的主要代码如下:packagecontroller;importjava.io.IOException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importservice.userservice;importvo.videovo;@WebServlet("/UserVideoShenheServlet")publicclassUserVideoShenheServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; userserviceservice=newuserservice();publicUserVideoShenheServlet(){super();//TODOAuto-generatedconstructorstub} protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); HttpSessionsession=request.getSession(); Stringaccountname=(String)session.getAttribute("accountname"); System.out.print(""+accountname); Stringj=request.getParameter("i"); System.out.print(""+j); inti=Integer.valueOf(j).intValue(); System.out.print(""+i); List<videovo>list=service.uservideoshenhe(accountname,i); request.setAttribute("list",list); request.setAttribute("i",i); request.getRequestDispatcher("user-shenhe.jsp").forward(request,response);}}5.5本章小结本章主要介绍了系统的详细设计,各个模块的详细设计,以及模块的了流程图还有一些模块实现的主要代码。分别介绍了普通用户和管理员登录、注册、播放视频、上传视频、搜索视频、查看个人信息、修改个人信息、用户管理、视频查询、视频审核等的详细设计操作等步骤。对模块功能的实现进行了详细的阐述。完整的展示了模块的流程和关键代码。其中普通用户模块最核心的就是上传视频功能,也是本文的一个难点之一。

6系统实现与测试6.1初始页面展示用户管理员在进入平台时的登录页面展示,很多平台在进入系统时都会有欢迎页面的展示,本文是欢迎页面与登录页面相结合在一起,既介绍了平台的用途,又方便用户直接登录,无需更多的操作。如下图6-1所示。图6-1欢迎登录界面6.2用户、管理员登录模块展示用户、管理员登录是系统最基础的模块之一,用户在使用软件时,也必须登录,只有数据库检验该账号密码是否存在才能进入系统首页。本系统设计中,用户和管理员在同一界面但是可以随意切换,点击“用户登录”则直接跳转到用户登录界面,点击“管理员登录”则直接跳转到管理员登录界面。登录页面如图6-2、6-3所示。图6-2用户登录页面图6-3管理员登录界面6.3用户注册模块展示用户注册也是系统的最基础的功能之一。新用户在第一次使用系统的时候需要进行注册,通过数据库检验注册成功后才能进行登录进入系统首页。注册页面的展示如图6-4所示。图6-4用户注册页面6.4用户、管理员首页展示用户、管理员登录成功后将会进入系统的用户首页、和管理员首页。一个好的首页展示能让人们更直观的了解到系统有哪些用途与操作。本系统的用户首页主要有一个菜单栏和两页推进的静态视频展示,用户可以看到菜单栏上的功能并且进行相应的操作,也可以点击展示的视频进行观看。管理员首页包含了菜单栏及各个功能,直观且方便操作。两个首页展示如下图6-5、6-6所示。图6-5用户首页页面图6-6管理员首页页面6.5视频分类模块展示用户进入系统后,我们可以看到首页上的菜单栏中视频分为电影类、综艺类、短视频三大类,点击三大类后他会有相应的视频展示,左侧还会有各种不同的小类型视频。如电影中还分为(动作片、科幻片、爱情片、恐怖片等等类型),综艺中还分为(访谈、真人秀、生活、晚会、搞笑等等类型),短视频中还分为(跳舞、穿搭、清新、动漫等等类型),通过这些类型我们又可以更精确的观看我们感兴趣类的视频。展示页面如图6-7、6-8、6-9所示。图6-7电影分类页面图6-8综艺分类页面图6-9短视频分类页面6.6用户管理模块展示用户在进入系统后可以进行菜单栏上的用户点击,然后跳转到用户界面,里面有两个功能用户查看个人信息和修改个人信息,点击个人信息查看则跳转到个人信息查看界面,点击修改信息则跳转到修改信息界面。如下图6-10、6-11、6-12所示。图6-10用户个人管理页面图6-11用户查看个人信息界面图6-12用户修改个人信息页面6.7用户上传界面展示用户在进入系统后可以点击系统首页菜单栏的上传功能上传视频,上传视频是本系统一个主要功能,进入上传页面后会看到:视频上传、选择文件、选择封面三个操作,它们分别代表上传视频信息,选择上传的视频进行上传、选择视频的封面进行上传,这三个条件缺一不可,最后左下角还有一个查看上传进度的功能,因为用户所上传的视频需要通过管理员的审核,而用户可以通过这个功能查看自己的上传进度(是通过了审核、还是没通过、还是未审核状态)。上传页面如下图6-13所示。图6-13上传视频页面6.8用户搜索模块的展示用户进入系统后可以通过搜索功能直接输入视频名称,精确搜索出自己想要观看的视频。视频搜索页面如下图6-14所示。图6-13视频搜索页面6.9管理员管理模块展示管理员进入管理员首页后,可以看到菜单栏下的管理员管理功能里面包含管理员密码修改、添加管理员、删除管理员三个功能。如下图6-14、6-15、6-16所示。图6-14管理员修改密码页面图6-15添加管理员页面图6-16删除管理员页面6.10用户管理模块展示用户管理模块包括用户列表和用户查询两个模块,用户列表可以看到所有用户的详情信息,还能对用户进行删除操作,用户查询可以精确搜索到自己想要搜索的用户并进行查看、删除等操作。如下图6-17、6-18所示。图6-17用户管理用户列表页面图6-18用户管理用户查询页面6.11视频管理模块展示管理员进入管理员首页后,可以对视频进行管理,视频管理功能又包括视频查询和视频审核两大部分。视频查询可以通过多种查询方式搜索相应的一个视频或一类视频,然后可以看视频的详情信息并且进行删除操作;视频审核可以查看用户上传且还未经审核的视频,对其观看然后进行操作是否审核通过。如下图6-19、6-20、6-21所示。图6-19视频管理视频审核页面图6-20视频管理视频查询页面图6-21视频管理视频

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论