在线视频教学平台的设计与实现.docx

上传人:b****6 文档编号:4451669 上传时间:2022-12-01 格式:DOCX 页数:36 大小:509.47KB
下载 相关 举报
在线视频教学平台的设计与实现.docx_第1页
第1页 / 共36页
在线视频教学平台的设计与实现.docx_第2页
第2页 / 共36页
在线视频教学平台的设计与实现.docx_第3页
第3页 / 共36页
在线视频教学平台的设计与实现.docx_第4页
第4页 / 共36页
在线视频教学平台的设计与实现.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

在线视频教学平台的设计与实现.docx

《在线视频教学平台的设计与实现.docx》由会员分享,可在线阅读,更多相关《在线视频教学平台的设计与实现.docx(36页珍藏版)》请在冰豆网上搜索。

在线视频教学平台的设计与实现.docx

在线视频教学平台的设计与实现

在线视频教学平台的设计与实现

摘要

在线视频教学系统是新兴的传媒方式,他是在原有的文字、图片等静态信息浏览的基础上,曾加了视频和音频的动态浏览等多媒体点播服务。

用户可以在线浏览视频信息并根据自己的喜好单击播放.这样,使用户足不出户就可以学习知识,掌握技能,摆脱了传统面对面教学的局限性,改变了人们的学习环境。

该系统是基于Web的在线视频教学系统,用户可以对个人信息管理、上传视频文件、在线观看视频、搜索、更新、删除;对用户上传视频进行审核、删除;对系统动态宣传图片的更新、删除;超级管理员可以添加、删除、更改普通管理员信息。

由于本系统是一个小型系统,所以数据库采用MySQL,易于实现和维护。

实现过程中将HTML、JSP、servlet技术及CSS和div完美融合,力求界面美观、操作流畅。

 

关键词

视频教学;MySQL;JSP;Servlet

 

Abstract

Onlinevideoteachingsystemisthenewmediaway,itisintheoriginaltext,pictures,etc。

Onthebasisofstaticinformationbrowsing,haveaddedavideoandaudiodynamicbrowsing,etcmultimediavodservices.Userscanbrowseonlinevideoinformationandthebefondofaccordingtooneself,clicktheplay.So,theuserneverleavehometostudyknowledge,mastertheskills,fromthetraditionalface-to—faceteachinglimitations,changedpeoplelearningenvironment。

ThesystemisbasedontheWebvideoonlineteachingsystem,userscanuploadpersonalinformationmanagement,videofiles,onlinewatchvideo,search,update,anddelete;Foruserstouploadvideoauditanddelete;Onthesystemdynamicpropagandaimagesoftheupdate,delete;Superadministratorcanadd,delete,changethecommonadministratorinformation.Sincethesystemisasmallsystem,sothedatabaseusingMySQL,easytorealizeandmaintenance.RealizationprocesswillHTML,JSP,servlettechnologyandCSSanddivperfectfusion,andstrivetointerfaceaesthetics,smoothoperation。

 

Keywords

Videoteaching;MySQL;JSP;Servlet

前言

在线视频教学技术是近年来新兴的一种传媒教学方式,它彻底改变了长期以来广播式的单向视频传播方式,满足了人们对视频播放进行实时控制的愿望。

如今,视频教学技术正日益受到教育界的普遍关注.将现有的软硬件资源进行升级改造,可进一步提高人们Internet的应用能力和通过计算机获取知识的能力。

构建一个基于JSP的视频教学系统,学习者可以得到最基本又足够的教学内容来学习。

将有利于我们开展多种形式的双向多媒体教学,同时,各种网络设备为节约资源或网络安全等原因,也有利于我教育资源的网络化。

在线视频教学平台的设计就是利用J2EE来实现这种视频上传的网站,众所周知,JAVA在web项目方面是独当一面的,所以说,利用JAVA是完全能够实现视频的上传观看网站的.这种在线教学视频平台可以让教学更加的直观,更便于交流,也更有创新性。

运用这种网络教学可促使有限的资源形成最大化的利用,可促使学员学习自主化。

这种在线教学系统实现了个性化学习,每一位学习者都可以根据自己的学习特点,在自己方便的时间从互联网上自由地选择适合的学习资源,按照适合自己的方式和速度进行在线学习,同时,在线教学可促使培训管理自动化。

 

第一章绪论

1.1研究背景

随着时代进步,人类对于信息存储方式和质量的要求也日渐提高,最初,人们没有发明文字,就用一些物体来记录发生的大事,随后人们发明了文字,到了19世纪人类发明了相机,到了二战后期,美国人发明了世界第一台计算机,直到现在计算机和内存在不断的更新和发展,并且到了今天互联网也发展到了一个繁荣阶段,几乎每时每刻都有庞大的数据量在互联网上传输,人们需要的存储的信息也记录到内存中,而现在人们所需要记录的数据形式也有较大的改变,比如某些重要的需要记录的新闻,又或者一些人记录的一些有纪念价值的信息,相对用照片或者文字来说,用视频形式表现出来则更具体.

我们可以通过这样一种网站,将最新消息视频,或者一些教学视频、图片和有效信息,免费提供给用户,可以满足用户的不用需求,人们只要登录网站便可查询查看当天或者当前时段最受关注的视频信息,或者查询自己所需的视频信息并观看,用户仅需注册账号,将自己的视频上传到网站,供大家分享,而当天新闻视频,也可以上传到网站,这样人们可以直接第一时间点击观看,这样,人们可以随时随地的就能了解每时每刻,世界各地都发生了什么,注册后的会员也可以管理自己的视频,如果自己的视频不方便与人们分享,还可以对视频进行删除等操作.

1.2研究现状以及发展趋势

新媒体是近几年最流行的词汇之一,所谓新媒体是指应用在数字技术、在传统媒体基础上改造、或者更新换代而来的媒介或媒体。

新兴媒体与传统媒体在理念和应用上并无本质区别。

所谓新兴媒体是指在传播理念、传播技术上,传播方式和消费方式等方面发生了质的飞跃的媒介或媒体,它既必须是在形态上前所未有的媒介或媒体,有必须是一种在理念上和应用上新颖的媒介或媒体。

在线视频是新媒体的具体实现之一,早在2005年,全球影响力最高的YouTube就已经正式运营,而随后几年国内也如雨后春笋搬的诸如优酷网,土豆网,酷6网,56网等在线视频上传网站,随着在线视频上传网站这种媒体形式不断风靡全球,对应的用户也越来越多,据 一些博客报导,YouTube现在每天播放的视频数量超过20亿次,是2005年的250倍。

可见,视频上传播放这种视频媒体服务是有开发潜力的[].

1。

2。

1目前视频上传播放服务的概述、发展现状

视频播放主要分为两种形式,一种是客户端类型,另一种是网站类。

客户端类型,例如QQLive、PPS等,需要客户自己下载相关的在线视频播放器,这种播放器可以播放本地的视频,也能播放互联网的在线视频,但主要功能是播放互联网上的视频,也有直播功能;网站类的在线视频播放,虽然不能播放用户本地的视频,但是也能够播放互联网的视频,或者直播,更重要的是能够实现让用户直接上传自己的的视频,比如用户自己录制的某些值得纪念的视频,希望和朋友分享,或者希望被大家观赏炫耀一下,就可以将他的视频上传到在线播放类的网站上,供自己的朋友和游客观赏.而根据现阶段用户的发展,后者更受欢迎,因而在线视频播放服务的发展方向将会是网站类服务[]。

1。

2.2发展趋势

视频教学系统正随着互联网的发展而流行起来,自己录制视频也是当今互联网的流行之一,所以,作为区别于新媒体的技术实现之一,视频在线教学服务更贴近人们的生活,将在不就的将来视频教学会普及各个家庭,成为教学的另一种方式。

1。

3研究的意义

视频教学系统的本质是信息的使用者根据自己的需求主动获得多媒体信息,它区别于信息发布的最大不同:

一是主动性、二是选择性.从某种意义上说这是信息的接受者根据自身需要进行自我完善和自我发展的方式,这种方式在当今的信息社会中将越来越符合信息资源消费者的深层需要,可以说视频教学系统是信息获取的未来主流方式在多媒体视音频方面的表现。

视频教学系统的概念将会在信息获取的领域快速扩展,具有无限广阔的发展前景.

 

第二章系统设计相关技术

2.1选用B/S体系结构

现今的管理系统主要分为两大种:

客户端和服务器端C/S、浏览器端/服务器端B/S,而绝大多数的浏览器端/服务器端B/S都是分布式多层结构的,本系统采用的也是浏览器端/服务器端B/S形式,分布式开发。

浏览器/服务器B/S结构在服务器端,采用的是WEB服务器,而在客户端方面,则不想C/S那样需要客户装有客户端软件,而是利用客户端机器上已装有的浏览器,B/S也正是Browser/Server缩写,用户通过浏览器访问系统的页面,输入信息,通过数据流传到服务器处理,服务器再将静态数据传到用户的浏览器中,这样的通过浏览器和服务器间一次次会话来实现用户的操作。

相比之前的客户端和服务器端C/S结构,浏览器/服务器B/S结构更适合商业项目的开发,对于用户来说更方便,更安全,不需要安装庞大的客户端软件,仅需要客户通过浏览器访问网站即可.

一般的浏览器/服务器B/S结构基本分为三部分,第一部分为用户操作接口,第二部分是WEB服务器的处理机制,第三部分为后台数据库。

用户操作接口是浏览器软件,用户是通过浏览器的窗体将数据传递给后台,浏览器无所谓类型,版本,微软的IE、火狐、chrome都可以,通常用户就是这样通过浏览器和后台数据库进行交互,第二层WEB服务器的处理机制基本是接收用户通过浏览器里网页的窗体传过来得数据,来选择执行以后的流程和逻辑,并且这些流程和逻辑处理中还会涉及到数据库,进而对数据库进行操作。

第三层数据库方面就和客户端和服务器端C/S结构差不多,因为大部分对数据库操作的逻辑都存在于WEB服务器中,所以数据库方面也是依靠WEB服务器中逻辑来执行,不过WEB服务器对数据库的执行逻辑产生的结果需要WEB服务器形成静态结果返回给用户的浏览器端进行显示[]。

相比客户端和服务器端C/S结构来看,作为主要用于商业项目的浏览器/服务器B/S结构,虽然它的个性化特点不如C/S结构,没有客户端软件那样强调个性化功能,不像C/S那样直接和服务器相连,响应速度没有C/S那么快,没有像C/S那样,满足快速操作的要求,而且有时候B/S是要求动态页面刷新的,但是它有以下优点:

(1)从投入成本上看,B/S结构基本上只是在第一次开发时一次性的投入成本,因为它的逻辑处理部分全部集中在WEB服务器端,不像C/S那样,在客户端软件部分投入部分逻辑,所以C/S结构在以后的维护和管理时,将会在升级或者维护补丁上投入太多成本。

而B/S架构如果维护或者修改则不需要开发补丁等程序,只要修改服务器端部分即可.

(2)安全性方面上,因为B/S不需要客户端机器上安装任何软件,用户最多也仅仅安装浏览器插件,所以不会占用客户端机器上硬盘空间,又由于C/S结构安装在客户端机器上的软件有许多逻辑处理业务,所以在安全方面不如B/S结构,因为如果用户的机器被挂马,或者中病毒,可能影响到客户端软件本身进而影响用户本身利益,而B/S就不同,它的大部分业务逻辑处理是在WEB服务器端,因此在安全性要高于C/S结构。

(3)系统的升级和功能添加方面上,因为B/S架构业务逻辑在服务器端,不需要开发升级补丁等,所以在维护或者新增业务功能模块时,也很简单,只需要新增网页页面,新增后台业务逻辑处理程序即可,而C/S在升级补丁方面上,不仅需要大量的工作量,而且还要兼顾不同用户不同版本,不用种类的操作系统,每个种类的操作系统,要对应开发出不同种类补丁,这样才能满足新增功能,或者维护。

(4)从数据一致性来看,C/S结构的商业项目,如果数据不是集中存放方式,对于异地经营的大型集团采取区域服务器形式,那么需要经常性得数据同步,这些服务器只有将数据同步之后,才将同步后的结果返给总数据库,虽然理论上数据能在一个时刻一致,但是同步上来的数据,各个服务器也不是一个时间点上的数据,数据永远无法一致,无法用于决策,对于B/S结构,数据是集中存放的,每个客户对数据的操作都直接存入同一个数据库中,这样保证了数据一致。

(5)网络限制方面来看,C/S结构一般对网络要求相对B/S结构较高,一般的C/S结构的系统,仅适合两种形式的网络,一种是局域网形式,一种是宽带用户,而且C/S结构的系统一旦在客户操作数据的高峰期时,可能会造成网络阻塞,相比来看,B/S结构的商业项目适合任何形式的网络,而且特别适合宽带达不到的地方。

2.2系统开发平台的选择

在语言方面,我选择了J2EE,而不是其它诸如、C#等,因为从JAVA发展到现在,已经成为WEB商业项目的霸主,现今几乎大部分的WEB项目都采用了J2EE编程,因为JAVA本身是跨平台的、是开源的、并且发展了这么长时间,J2EE技术方面也出现了多框架,比如WEB框架struts、struts2,轻量级控制反转面向方面的框架spring,以及持久层框架hibernate等,当然选择JAVA不仅是因为以上这些,更重要的是它本身具有的几个特性:

(1)JAVA语言的简单性

虽然在思维逻辑方面和C、C++是两种不同的世界,但是JAVA语言的语法和C、C++很接近,这使得大多数程序员能很容易的就学习并且使用JAVA,并且JAVA不像C++那样,包含一些很少使用的、晦涩难懂的、令人迷惑的特性,例如操作符重载、多继承、自动的强制类型转换,最重要的是JAVA没有指针的概念,因为内存处理等方面问题,都是由虚拟机来执行并分配,并且JAVA提供了垃圾回收机制,如果对象失去引用,将会被垃圾回收,消失,这使得JAVA程序员不必像C或C++程序员那样为内存问题而困扰。

(2)JAVA是纯面向物件的

JAVA语言提供了类、接口、继承等原语,为了方便,JAVA不像C、C++那样,支持多继承,JAVA只支持单继承,但是接口是多继承的,因此JAVA通过单继承类,多继承接口,也能实现多继承,并且支持类与接口之间的实现机制,JAVA语言全面支持动态绑定,相比C++语言只对虚函数使用动态绑定,并且JAVA语言是以类为基础的,所有功能都封装在类中,只有通过对象来调用相应的方法,才能实现该功能,是真正实现了数据和业务的封装,总之,JAVA是纯面向对象的。

(3)JAVA语言是分布式的

JAVA语言支持Internet应用的开发,在基本的JAVA应用编程接口中有一个网络应用编程接口,并且它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等,所以说利用JAVA也完全能够写出TCP/IP或者UDP类型的聊天系统。

同时JAVA的远程方法启动机制也是开发分布式应用的重要手段.

(4)JAVA语言是健壮的

首先JAVA的强制类型机制,不像C或者C++那样对类型要求松懈,这使得JAVA语言出现BUG几率降低不少;其次JAVA的异常处理机制的设计和使用是完全成功的,异常处理机制可以算作一种逻辑处理的信道,例如业务逻辑处理流程可能会出现异常或者BUG,可以通过异常处理机制截获通过catch语句加以处理;再次JAVA的垃圾处理机制,可以让JAVA程序员感觉更方便,不像C++那样,创造出的对象,需要程序员自己编写析构函数,对对象进行析构,JAVA的垃圾回收机制巧妙在如果对象失去引用,将自动对该对象进行回收,进而释放该对象所占内存空间[]。

(5)JAVA语言是安全的

JAVA语言通常被用在网络环境中,为此,JAVA提供了一个安全机制以防御恶意代码的袭击,并且JAVA拥有虚拟机,关于内存方面处理分配,都是通过JAVA的虚拟机来处理的,因此JAVA没有指标概念,不像其它C或者C++程序那样,需要程序员自己来对内存进行处理,这样会导致程序本身的BUG,甚至会危害操作系统本身,由于现今大多数用户用的操作系统是windows,而微软的windows有C代码构成,所以这就是为什么windows会出现这么多漏洞,微软会发布那么多补丁.除了JAVA语言具有的许多安全特性以外,JAVA对通过网络下载的类具有一个安全防范机制,ClassLoader类,如分配不同的名字空间以防替代本地同名类,字节代码检查并提供安全管理机制,SecurityManager类,让JAVA应用设置安全哨兵,因此JAVA语言是具有安全性的。

(6)JAVA语言是体系结构中立的

JAVA解释器生成与体系结构无关的字节码指令,只要安装了JAVA运行时系统,JAVA程序就可在任意的处理器上运行。

这些字节码指令对应于JAVA虚拟机中的表示,JAVA解释器得到字节码后,对它进行转换,使之能够在不同的平台运行.JAVA程序在JAVA平台上被编译为体系结构中立的字节码格式的。

class文件,然后可以再实现这个JAVA平台的任何系统中运行,这种途径适合于异构的网络环境和软件的分发.

(7)JAVA语言是可移植的

由于JAVA语言是体系结构中立的,所以它是有着可移植性,由于JAVA代码编译成.class文件是基于JAVA虚拟机的,JAVA代码是结构中立的,所以只要一台安装有JAVA虚拟机的任何系统的机器,都能将JAVA文件编译成.class文件,这就是JAVA的一次编译,处处执行的特性,另外,JAVA还严格规定了各个基本数据长度类型,JAVA本身也是具有很强的可移植性,JAVA编译器是用JAVA实现的,JAVA的运行环境是用ANSIC实现的.

(8)JAVA语言是解释型的

如上文所说,JAVA程序在JAVA平台上被编译成字节码格式,然后可以在任何装有JAVA虚拟机的,装有任何操作系统上面执行,在运行时,JAVA平台中的JAVA解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段呗加载运行环境中。

这使得连接过程更加简单化。

(9)JAVA是高性能的

和其它解释型语言相比,如BASIC、TCL不同,JAVA字节码的设计使之能很容易的直接转换为对应于特定CPU的机器码,从而得到较高的性能,并且JAVA的运行速度随着JIT编译器的技术发展越来越接近于C++。

(10)JAVA语言是多线程的

一个程序运行是有多个线程组成的,而线程在JAVA语言中是一种特殊对象,创造一个线程类对象,那么该线程类必须继承Thread类,或者继承Thread类的子类,又或者实现Runnable接口;通常创建线程的两种形式是:

其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程,值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法包含了一个线程执行的代码,因此线程的一切活动都与该线程对象的run方法有直接关系,该线程的一切活动都是由run方法中的代码控制的,JAVA语言支持多个线程的同时执行,并提供操纵线程的一些措施,来保证线程与线程之间不会出现死锁,比如线程之间的同步机制Synchronized,以及一些操纵线程的方法,例如notify()、wait()等,便于线程之间的协作。

这样多线程机制能是应用程序并行执行,而且同步机制保证了对数据的共享的正确操作,通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为和功能,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为,而且J2EE中的servlet是自动多线程的,这样对于用户浏览器和服务器之间的交互就不需要程序员来处理多线程问题.

(11)JAVA语言是动态的

JAVA语言从最开始到现在,已经发生了很多变化,这种变化可以算作进化,JAVA语言的变化最明显的一点就是适应于动态变化的环境,这也是JAVA语言的设计目标之一,JAVA程序需要的类能够动态的被加载到运行环境,也可以通过网络来加载所需要的类,这也有利于软件的升级,另外,JAVA中的类有一个运行时刻的表示,能进行运行时刻的类型检查,JAVA的设计使它适合于一个不断发展的环境,在类库中可以自由的加入新的方法和对象、变量而不会影响用户程序的执行,并且JAVA通过接口来支持多继承,这种方式使JAVA比以往严格的多继承类更具灵活性。

JAVA语言的这些特性使得JAVA应用具有无与伦比的健壮性和可靠性,也减少了维护的开支,JAVA对对象的全面支持和JAVA平台内嵌的API能缩短应用系统的开发时间并降低成本,JAVA的编译一次,到处执行的特性使得它能够提供一个随处可用的开放结构和在多平台之间信息传递信息的低成本方式,尤其是JAVA企业应用编程接口,为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

2。

3JAVA技术应用

Servlet

Servlet是服务器端的JAVA应用程序,通过词义来看是小型server端,同Applet一样。

服务器上的一些程序经常是根据用户输入访问数据库的程序,这些通常是使用公共网关接口应用程序完成的。

但是在服务器端运行的JAVA,通过这种程序即可实现,这种能够在服务器端运行JAVA的小程序,就是Servlet。

最早支持Servlet技术的是JAVASoft的JAVAWebServer,此后,一些其它的基于JAVA的Webserver开始支持标准的ServletAPI,Servlet的主要功能是用于交互式的浏览和修改数据,生成动态的web内容。

Servlet的生命周期:

(1)Server创造一个Servlet对象,调用其中的init()方法.

(2)当一个客户端请求到达Server,Server会创建一个请求物件,创建一个相应对象,Server启动Servlet的service()方法,传递请求和相应对象作为参数。

(3)service()方法获得关于请求对象的信息,处理请求,访问其它资源,获得需要的信息。

service()方法使用响应对象的方法,将响应传回Server,最后传回客户端。

其中service()方法可能启动其它方法以处理请求,如doGet()或者doPost()。

(4)当Server不再需要Servlet时,Server将会调用Servlet中的destory()方法。

Servlet的工作模式如下:

(1)客户端发送请求到服务器;

(2)服务器启动并调用Servlet,Servlet根据客户端请求生成相应内容并将其发送传递给服务器;

(3)服务器将回应返回给客户端。

Servlet的优势:

(1)可移植性

Servlet是利用JAVA语言来开发的,因此,延续JAVA在跨平台上的表现,不论Server的操作系统是Windows、Solaris、Linux等等,都能够将我们写好的Servlet程序放在这些操作系统中执行,借助Servlet的优势,就可以真正实现一次编写,处处执行的境界,这正是从事JAVA程序员最感到骄傲的地方,开发Servlet时不必考虑客户端平台,主要原因是Servlet是在Server端执行的,因此,程序员只要专心开发能在实际应用平台环境下测试无误即可。

(2)强大的功能

Servlet能够完全发挥JAVA的API的威力,包括网络的URL存取,多线程、影像处理、RMI、分布式服务器组件、对象序列化等,若想写个网络目录查询程序,则可利用JNDIAPI。

想连接数据库,则可利用JDBC,这些强大

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1