视频点播系统 毕业设计论文.doc

上传人:来看看 文档编号:3970136 上传时间:2019-10-11 格式:DOC 页数:48 大小:1.02MB
返回 下载 相关 举报
视频点播系统 毕业设计论文.doc_第1页
第1页 / 共48页
视频点播系统 毕业设计论文.doc_第2页
第2页 / 共48页
视频点播系统 毕业设计论文.doc_第3页
第3页 / 共48页
视频点播系统 毕业设计论文.doc_第4页
第4页 / 共48页
视频点播系统 毕业设计论文.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《视频点播系统 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《视频点播系统 毕业设计论文.doc(48页珍藏版)》请在三一文库上搜索。

1、1 前言21.1 研究背景21.2 研究现状及其发展趋势31.3研究目的及意义42 系统需求分析52.1 系统可行性分析52.2 系统功能需求62.3 性能需求72.4 系统框架72.5 数据流图102.6 系统简介112.7 系统设计相关技术122.8 系统性能要求232.9 系统开发与运行环境确定233 系统设计243.1 系统总体结构设计243.2 功能模块设计253.3数据库设计304 系统安全性实施344.1 安全的系统环境344.2 功能模块安全性实施344.3 数据库安全性实施355系统运行结果调试355.1 数据库连接配置355.2 页面调试366 系统测试457结论45参考文

2、献47附录481 前言1.1 研究背景 随着时代进步,人类对于信息存储方式和质量的要求也日渐提高,最初,人们没有发明文字,就用一些物体来记录发生的大事,比如古代波斯人就用绳子来记录发生的事,又或者画图来记录发生的大事;随后人们发明了文字,拥有文字的民族就运用文字来记录过去所发生的重大事件而形成历史,比如中国古代的二十四史;到了19世纪人类发明了相机,用照片记录人类历史,到了二战后期,美国人发明了世界第一台计算机,直到现在计算机和内存在不断的更新和发展,并且到了今天互联网也发展到了一个繁荣阶段,几乎每时每刻都有庞大的数据量在互联网上传输,人们需要的存储的信息也记录到内存中,而现在人们所需要记录的

3、数据形式也有较大的改变,比如某些重要的需要记录的新闻,又或者一些人记录的一些有纪念价值的信息,相对用照片或者文字来说,用视频形式表现出来则更具体。 众所周知,现在,人们通过视频图像来获取信息量的大部分得来源是互联网和电视,但是电视往往不能第一时间将新的消息传达到人们,因此互联网相对电视来看,更适合将重大新闻的视频图像传达给用户。而且,视频对于人们来说已经不仅仅拘泥于只是用来做存储重要新闻信息的手段,更倾向不同人群的不同需求,比如现在的一些拍客,喜欢把自己拍到的有趣的一些东西给朋友分享,或者一些学者为了能让学生们,而通过互联网,能更方便快捷实现人们对不同的视频的不同需求。 我们可以通过这样一种网

4、站,将最新消息视频,或者用户自己的自拍视频,以及娱乐方面电视剧、电影剧集,综艺节目,或者一些教学视频,免费提供给用户,可以满足用户的不用需求,人们只要登录网站便可查询查看当天或者当前时段最受关注的视频信息,或者查询自己所需的视频信息并观看,用户仅需注册账号,将自己的视频上传到网站,供大家分享,而当天新闻视频,也可以上传到网站,这样人们可以直接第一时间点击观看,这样,人们无需等待电视固定时段的新闻,而是随时随地的就能了解每时每刻,世界各地都发生了什么,注册后的会员也可以管理自己的视频,如果自己的视频不方便与人们分享,还可以对视频进行删除等操作。而我的设计就是利用J2EE来实现这种视频上传的网站,

5、众所周知,JAVA在web项目方面是独当一面的,所以说,利用JAVA是完全能够实现视频的上传观看网站的。1.2 研究现状及其发展趋势新媒体是2006年最流行的词汇之一,所谓新媒体是指应用在数字技术、在传统媒体基础上改造、或者更新换代而来的媒介或媒体。新兴媒体与传统媒体在理念和应用上并无本质区别。所谓新兴媒体是指在传播理念、传播技术上,传播方式和消费方式等方面发生了质的飞跃的媒介或媒体,它既必须是在形态上前所未有的媒介或媒体,有必须是一种在理念上和应用上新颖的的媒介或媒体。在线视频是新媒体的具体实现之一,早在2005年,全球影响力最高的YouTube就已经正式运营,而随后几年国内也如雨后春笋搬的

6、诸如优酷网,土豆网,酷6网,56网等在线视频上传网站,随着在线视频上传网站这种媒体形式不断风靡全球,对应的用户也越来越多,据Mashable 博客报导,YouTube 现在每天播放的视频数量超过 20 亿次,是 2005 年的 250 倍。可见,视频上传播放这种视频媒体服务是有开发潜力的,也是今后媒体界向互联网的发展趋势。1.2.1 目前视频上传播放服务的概述、发展现状 其实,视频上传播放服务,到今天已经发展有7年左右,技术上也已经非常成熟,现在的视频播放主要分为两种形式,一种是客户端类型,另一种是网站类。 客户端类型,例如PPLive、PPS等,需要客户自己下载相关的在线视频播放器,这种播放

7、器可以播放用户本地的视频,也能播放互联网的在线视频,但主要功能是播放互联网上的视频,也有直播功能,比如能够直播地方电视台的节目,但是此播放形式不能实现让用户上传视频的功能,客户端类型更适合播放娱乐节目,例如电视剧剧集,在线电影类;网站类的在线视频播放,虽然不能播放用户本地的视频檔,但是也能够播放互联网的视频,或者直播,更重要的是能够实现让用户直接上传自己的的视频,比如用户自己录制的某些值得纪念的视频,希望和朋友分享,或者希望被大家观赏炫耀一下,就可以将他的视频上传到在线播放类的网站上,供自己的朋友和游客观赏。而根据现阶段用户的发展,后者更受欢迎,因而在线视频播放服务的发展方向将会是网站类服务。

8、1.2.2 发展趋势根据国外媒体统计,Youtube正式运营时,当时每天的视频浏览量就已经达到800万次左右;2006年7月Youtube每天有1亿的视频浏览量,同时,每天有65000个视频上传到Youtube上;现在Youtube每天的访问量超过20亿。通过以上数据,视频上传播放服务正随着互联网的发展而流行起来,自己录制视频也是当今互联网的流行之一,所以,作为区别于新媒体的技术实现之一,视频在线播放服务更贴近人们的生活,将在不就的将来取代传统媒体,成为媒体传播的主流。1.3 研究目的及意义现在,人们举办重要的仪式,或是自己的重要经历,需要记录保留作为纪念,已经很少有人拍照了,而是经常利用DV

9、或者手机来拍摄视频,而且现在人们的精神生活不断提高,人们也制作视频满足自己的精神需要,比如说自己拍下来发生的不平常的事件、者拍客们自娱自乐自己制作的短片、一些技术人员自己拍摄下来用于教学,用于技术交流的短片、玩家们自己录制的游戏视频,电视剧剧集、电影等娱乐视频等,在线视频上传就是为了这些人将这些种类的视频上传到网站,供不同人群不同年龄的人观看。 人们只要登录视频上传的网站,就能够根据视频的名称或者种类进行视频的检索,查找自己想要观看的视频,如果想要上传视频,就需要注册成为会员,会员同样可以搜索和观看自己感兴趣的视频,也可以管理自己上传过的视频,会员上传视频时,可以加入对视频的详细介绍,方便其它

10、用户在查找时区别。作为互联网在线视频播放上传的服务网站,最终的目的是实现用户上传视频,实现用户自己的需求,例如通过上传的视频秀自己、把有意义的视频上传到互联网一方面可以和朋友一起分享,一方面也能通过视频和其它人进行交流,也可以将一些教学视频上传到互联网,让别人查阅学习,还可以上传一些娱乐类视频,例如可以上传电视剧剧集、电影、明星的演唱会,娱乐节目视频,供用户观看,也可以将当天发生的一些新闻或者用户经历过并拍摄下来的重大事件上传到互联网,进而来满足用户们的不同需求。2 系统需求分析作为网上视频播放上传系统的第一步,需求分析是至关重要的一步,是来通过描述系统的需求定义系统中的重要功能模块,进而建立

11、模型,需求分析是用户与系统开发者之间关于该系统细节与功能之间的互相沟通,达到各个功能模块都有明确的设计方案,所以,需求分析是该系统的开发人员和用户共同完成的,通过需求分析来明确系统是否符合对应用户的需求,或者适用于哪些用户。2.1 系统可行性分析系统可行性分析是通过系统调查,对系统开发的技术、社会、经济三方面来判断该系统是否具备开发的可行性和必要性,避免投资失误造成的损失,其目的是以最短时间,最小代价,确定系统是否有开发必要,能否开发,值得开发,决定该系统开发或是不开发,本系统的可行性分析包括以下几方面内容: (l) 经济可行性:经济可行性是对一个项目经济上收益的评价,本系统的开发经费对于普通

12、高等院校是完全可以接受的,并且维护方面不需要投入太多精力,这样低投入又能方便用户观看上传视频檔,所以在经济方面是可行的。 (2) 技术可行性:技术可行性是只本系统在技术上能否完成,包括软硬件是否满足开发者需要。本系统IDE是Myeclipse6.5,采用的B/S架构,也就是Browser/Server架构进行开发,采用的模式依然是经典的MVC三层,其中V层和C层由于是单人开发,所以沿用的依然是jsp和servlet,而没有用任何框架,M层用到了mybatis框架,数据库采用的是MySQL,该数据库单表的查询是最快的。硬件方面的要求就不那么高了,现在的硬件技术发展日新月异,性能越来越强,容量越来

13、越大,成本越来越小,硬件方面是满足开发需要的,因此技术方面是可行的。(3) 管理可行性:管理可行性只是否适合管理人员的管理,由于本系统不想其它系统那样,需要大量的人员来维持维护,我的视频点播系统只需要几个人来维护数据库、视频信息,人员信息等,通过现有的管理制度,在管理方面是可行的。综上所述,此系统能够确定开发,在技术和经济等方面都可行,并且能实现低投入和视频点播上传。因此,视频点播系统的开发是完全可行的。2.2 系统功能需求网上视频点播系统是一种能够在线播放视频,上传视频的网站,目的是希望人们既能观看别人视频,也能自己上传自己的视频秀下自己,满足当今人们的精神需要。通过自己对一些视频网站的考察

14、,网上视频点播系统应该有以下功能:包括用户的注册、登录、视频查询、视频上传、视频播放、用户信息修改、视频信息修改、删除用户,删除视频文件、新建管理员。并具有角色和权限控制来保证系统功能完善。该系统的角色和权限分别如下:1 超级管理员的权限及功能:分为人员管理和文件管理:人员管理:可以查询人员信息,包括普通管理员和会员,创建普通管理员以及相关权限,修改普通管理员的基本信息,修改自己本身的信息,能够删除普通管理员;修改会员信息,删除会员信息。其中所有人员信息包括超级管理员,普通管理员,会员信息均在表user中,包括对user表的操作包括userid(用户id)、username(用户名)、pass

15、word(密码)、realname(真实姓名)、nickname(昵称)、memo(备注)、provinceid(省id)、cityid(市id)。文件管理:查询视频信息,修改视频文件信息,删除视频文件。对应视频檔的表是表file,表中视频文件信息包括fileid(文件id)、filename(文件名)、memo(备注)、uploadtime(上传时间)、type(视频类型)。2 管理员的权限及功能:分为人员管理和文件管理:人员管理:可以查询会员信息,修改自己的信息,修改会员信息,删除会员。会员信息对应的表处理包括:userid(用户id)、username(用户名)、password(密码)

16、、realname(真实姓名)、nickname(昵称)、memo(备注)、provinceid(省id)、cityid(市id)。文件管理:查询视频信息,修改视频信息,删除视频文件。视频文件对应表操作的信息包括:fileid(檔id)、filename(文件名)、memo(备注)、uploadtime(上传时间)、type(视频类型)。3 会员的权限及功能:若身份为游客,则不能上传视频,只能查询并观看视频,会员为游客注册的账号,主要的权限是对视频檔的操作;也可以修改自己的会员信息,会员对应表的信息包括:userid(用户id)、username(用户名)、password(密码)、realn

17、ame(真实姓名)、nickname(昵称)、memo(备注)、provinceid(省id)、cityid(市id)。能够上传自己的视频,删除自己视频,修改自己的视频信息。2.3 性能需求性能需求指的是从接口、信息传递、网络状态、以及用户隐私安全性、是否都满足用户的要求或者能够得到最基本的保证。根据实际情况,在系统配置和网络宽带环境都得到基本保证的情况下,最需考虑的是会员的信息安全问题,所以基本上每个角色对应的权限都已经是固定的,因此在新建一个角色时,会顺便按照设计规定赋予其该有的权限,在权限判定时也是先来判断用户角色,再来判断权限。2.4 系统框架本系统的框架如下图2-1所示:网站首页in

18、dex.jsp普通管理员queryuser.jspqueryadmin.jspqueryvideo.jspupdatememberinf.jspupdatefileinf.jsp超级管理员addadmin.jsp会员upload.jspuservideo.jspupdateuserinf.jspupdatevideoinf.jspvideo.jspqueryvideo.jspregister.jsp图2-1 系统功能结构2.4.1 系统流程分析 用户首先进入首页index.jsp,登录页也在首页index.jsp中,登录成功后返回首页,同时登录用的窗体将换为欢迎,管理员的登录窗体和用户的登录窗

19、体是同一窗体,若没有注册,则需要在register.jsp页中注册,而管理员是不能注册的,只能是通过超级管理员进行添加并授权才能创造新的管理员。登录之前用户只能通过queryvideo.jsp搜索并在video.jsp观看视频,登录之后用户便可在upload.jsp中上传视频,在uservideo.jsp中能显示该用户的视频列表,并可以在列表中删除视频,用户可以在updateuserinf.jsp中修改自己信息,在updatevideoinf.jsp中修改自己上传的视频信息。管理员登录后能够在queryuser.jsp页查询所有用户信息,能在queryvideo.jsp页中查询所有视频信息,并

20、且查询页中有删除用户或者视频的操作,管理员能够在updatemember.jsp中修改自己本身的信息和用户的信息,能够在updatefile.jsp中修改任意视频信息,超级管理员除了拥有管理员的功能及权限外,还能在queryadmin.jsp中查询所有管理员信息,能在addadmin.jsp中增加管理员。用户或者管理员的功能接口之间通过连接来衔接,每种功能和对应管理模块挂钩。2.4.2 系统功能模块分析 网上视频点播系统主要分为:用户权限管理(包括管理员和超级管理员的权限管理)、用户信息管理(包括管理员信息管理)、用户查询管理(包括管理员查询)、视频查询管理、视频文件信息管理。模块之间设计模式

21、符合“高内聚,低耦合”。以下将详细介绍此五种模块: 用户权限管理模块本模块主要功能是用于登录验证,主要通过登录者得角色和权限,细节方面是先查询是否存在此用户,然后判断密码是否正确,之后判断该登录者的角色,在判断该登录者得角色是否有执行该功能的权限,对应的不同角色的登录者,因为拥有的功能不同,所以对应的权限判断也不同,因此会员和管理员,以及超级管理员拥有的功能不同,对应权限判断也不尽相同。 用户信息管理模块本模块主要功能是对用户信息的操作,包括增、删、改、查,用户信息包括注册后的会员以及普通管理员的信息,具体的功能实现也和角色及权限相关,比如游客注册时是执行的添加功能,会员就只能修改自己的信息,

22、管理员能够查询会员信息,修改会员信息,删除会员信息,同时也能修改自己的信息,超级管理员可以创建普通管理员,修改自己信息,修改会员信息,修改普通管理员信息,删除会员,删除管理员。 用户信息查询模块本模块功能是查询用户信息,根据角色及权限不同,执行的功能也不同,会员没有权限查询其它会员信息,管理员能够通过用户名查询会员信息,超级管理员能够通过用户名查询会员信息,或者查询管理员信息。 视频查询管理模块本模块功能是查询视频文件,和用户信息查询不同,视频查询可以不限定角色和权限,可以通过视频信息名称查询,也可以通过视频类型查询。 视频文件管理模块本模块功能是对视频文件进行增、删、改、查操作,和用户信息管

23、理一样,不同的角色和权限,对应的操作功能不同,视频檔管理中的查询如同视频查询模块一样,游客有观看和查询视频檔的基本权限,只有会员才有上传视频文件的权限及功能,会员也可以列出自己的视频列表,会员可以修改自己视频信息,也可以删除自己已经上传的视频檔。管理员可以查询所有视频,形成列表,可以修改任意视频信息,可以删除任何不合适的视频檔,超级管理员对视频操作和管理员一样。系统功能结构图设计如图2-2所示。网上视频点播系统视频文件管理模块视频查询管理模块用户信息查询模块用户信息管理模块用户权限管理模块图2-2 系统功能结构2.5 数据流图 数据流程图是一种通过图形方式描述数据在系统中流动和处理的,反映了系

24、统必须完成的逻辑功能的模型,描绘信息流和数据从输入移动到输出的过程中经历的变换。本系统数据流程图中的数据主要由四类角色进行输入,回馈数据流也将回馈给不同角色。系统的数据流程图设计如图2-3-1,2-3-2所示。会员 顶层数据流程图: 回馈操作信息或播放视频操作信息或播放视频网站操作信息超级管理员网上视频点播系统回馈管理信息回馈操作信息管理员网站管理信息回馈查询信息或播放视频查询信息或点播视频游客图2-3-1 顶层数据流程图 0层数据流程图:超级管理员登录信息管理员登录信息用户登录信息游客查询的视频信息登录验证登录验证登录验证视频信息管理模块视频信息查询模块用户信息管理模块用户信息查询模块图2-

25、3-2 0层数据流程图2.6 系统简介 本系统为B/S架构的网站视频点播系统,开发模式方面采用的是经典的MVC模式,前台方面没有运用struts等框架,考虑到个人开发,因此是纯jsp页面,jsp页面包含HTML语言,其中包含JavaScript卷标,当中的JavaScript函数用于传递JSON以及对窗体进行验证、提交等功能,并且采用JQuery-ui等接口代码库,会是接口看起来更加友好,中间C层,也就是控制层,也同样没有采用任何类似spring等框架,也是仅由servlet直接构成,持久层框架采用的mybatis,通过configuration.xml来调用相应的存储了sql语句的xml文件

26、,来实现对数据库的访问和操作。本系统开发所用IDE为MyEclipse 6.5、数据库为MySQL,web服务器为tomcat 5.5,系统整体尽力追求模块化,追求“高内聚、低耦合”,力求安全性、方便性、实用性,同时也严格按照MVC的方式将各个功能模块隔离,这样便于后期维护和管理。本系统的特点:1、本系统是B/S的web项目,采用分布式开发,因此只要能够访问internet就能访问本系统的一些功能。2、本系统虽然在前台接口和中间控制器方面都没有采用流行的struts、struts2或spring框架,只有数据库采用了mybatis框架,因而没有采用当下流行的SSH,但是本系统代码方面力求简洁,

27、并在各种逻辑处理前添加注释,实现易于修改,易于维护。3、功能模块之间追求“高内聚,低耦合”而相对独立,修改时对其他模块没太大影响。4、用户接口友好,操作简单,使用方便。5、任何windows版本都可访问。2.7 系统设计相关技术2.7.1 选用B/S体系结构现今的管理系统主要分为两大种:客户端和服务器端(C/S)、浏览器端/服务器端(B/S),而绝大多数的浏览器端/服务器端(B/S)都是分布式多层结构的,本系统采用的也是浏览器端/服务器端(B/S)形式,分布式开发。1 客户端和服务器端(C/S)结构客户端和服务器端(C/S)结构中,主要由一个服务器和许多个客户端组成,客户端方面,在客户的机器上

28、装有占硬盘空间很大的软件,用户可以通过客户端软件的操作,将数据通过互联网传到服务器上,目前这种形式还是很流行,例如通讯软件QQ、以及一些网络游戏例如魔兽世界。正如举出的这些例子,采用客户端和服务器端(C/S)形式的很少有商业系统的,虽然大多数软件现今还在沿用这种经典的客户端和服务器端(C/S)模式,它的的优点是充分发挥了客户端机器的处理能力,很多工作可以在客户端处理后再提交给服务器,因此它最显著的有点就是客户端响应速度快。但是很少有商业项目采用,并且此种结构占用的硬盘空间过大,从而导致很多问题和缺点,缺点如下:(1) 就如上面所说,客户端和服务器端(C/S)结构,客户端方面,需要用户安装占用一

29、定容量的硬盘空间。(2) 由于客户端和服务器端(C/S)结构,客户端方面是占用用户的磁盘空间,因此在安全性方面很不理想,因为此结构是牺牲硬盘空间,有效利用了客户端机器的运算能力,虽然在业务处理方面很完善,但是正因为有些业务处理是在客户端方面执行的,所以如果呗木马,病毒干扰客户端程序,那么将对用户的利益造成一定危害。(3) 由于是安装在客户端机器上的客户端软件,所以对应的版本也不尽相同,对应的操作系统也不同,例如,有些客户端和服务器端(C/S)程序有window用户也有linux用户,因此对应不同的用户,开发出来的客户端软件的版本有对应不同操作系统不同版本,这样不仅加大了对客户端软件开发量,而且

30、对客户端软件的修改或维护补丁也不尽相同。(4) 网络方面,客户端和服务器端(C/S)结构在业务流量高峰期,可能会造成网络流量阻塞,而且该结构的软件仅适合局域网内部用户或者是宽带用户。 综上所诉,作为网上视频点播系统,不需要客户方执行复杂的业务逻辑,也不需要在客户机器上安装任何客户端软件,所以本系统不适合采用客户端和服务器端(C/S)结构开发,相比,更适合采取浏览器/服务器(B/S)结构。2. 浏览器/服务器(B/S)结构浏览器/服务器(B/S)结构在服务器端,采用的是web服务器,而在客户端方面,则不想C/S那样需要客户装有客户端软件,而是利用客户端机器上已装有的浏览器,B/S也正是Brows

31、er/Server缩写,用户通过浏览器访问系统的页面,输入信息,通过数据流传到服务器处理,服务器再将静态数据传到用户的浏览器中,这样的通过浏览器和服务器间一次次会话来实现用户的操作。相比之前的客户端和服务器端(C/S)结构,浏览器/服务器(B/S)结构更适合商业项目的开发,对于用户来说更方便,更安全,不需要安装庞大的客户端软件,仅需要客户通过浏览器访问网站即可。一般的浏览器/服务器(B/S)结构基本分为三部分,第一部分为用户操作接口,第二部分是web服务器的处理机制,第三部分为后台数据库。用户操作接口是浏览器软件,用户是通过浏览器的窗体将数据传递给后台,浏览器无所谓类型,版本,微软的IE、火狐

32、、chrome都可以,通常用户就是这样通过浏览器和后台数据库进行交互,第二层web服务器的处理机制基本是接收用户通过浏览器里网页的窗体传过来得数据,来选择执行以后的流程和逻辑,并且这些流程和逻辑处理中还会涉及到数据库,进而对数据库进行操作。第三层数据库方面就和客户端和服务器端(C/S)结构差不多,因为大部分对数据库操作的逻辑都存在于web服务器中,所以数据库方面也是依靠web服务器中逻辑来执行,不过web服务器对数据库的执行逻辑产生的结果需要web服务器形成静态结果返回给用户的浏览器端显示。相比客户端和服务器端(C/S)结构来看,作为主要用于商业项目的浏览器/服务器(B/S)结构,虽然它的个性

33、化特点不如C/S结构,没有客户端软件那样强调个性化功能,不像C/S那样直接和服务器相连,响应速度没有C/S那么快,没有像C/S那样,满足快速操作的要求,而且有时候B/S是要求动态页面刷新的,但是它有以下优点:(1)、从投入成本上看,B/S结构基本上只是在第一次开发时一次性的投入成本,因为它的逻辑处理部分全部集中在web服务器端,不像C/S那样,在客户端软件部分投入部分逻辑,所以C/S结构在以后的维护和管理时,将会在升级或者维护补丁上投入太多成本。而B/S架构如果维护或者修改则不需要开发补丁等程序,只要修改服务器端部分即可。(2)、安全性方面上,因为B/S不需要客户端机器上安装任何软件,用户最多

34、也仅仅安装浏览器插件,所以不会占用客户端机器上硬盘空间,又由于C/S结构安装在客户端机器上的软件有许多逻辑处理业务,所以在安全方面不如B/S结构,因为如果用户的机器被挂马,或者中病毒,可能影响到客户端软件本身进而影响用户本身利益,而B/S就不同,它的大部分业务逻辑处理是在web服务器端,因此在安全性要高于C/S结构。(3)、系统的升级和功能添加方面上,因为B/S架构业务逻辑在服务器端,不需要开发升级补丁等,所以在维护或者新增业务功能模块时,也很简单,只需要新增网页页面,新增后台业务逻辑处理程序即可,而C/S在升级补丁方面上,不仅需要大量的工作量,而且还要兼顾不同用户不同版本,不用种类的操作系统

35、,每个种类的操作系统,要对应开发出不同种类补丁,这样才能满足新增功能,或者维护。(4)、从数据一致性来看,C/S结构的商业项目,如果数据不是集中存放方式,对于异地经营的大型集团采取区域服务器形式,那么需要经常性得数据同步,这些服务器只有将数据同步之后,才将同步后的结果返给总数据库,虽然理论上数据能在一个时刻一致,但是同步上来的数据,各个服务器也不是一个时间点上的数据,数据永远无法一致,无法用于决策,对于B/S结构,数据是集中存放的,每个客户对数据的操作都直接存入同一个数据库中,这样保证了数据一致。(5)、网络限制方面来看,C/S结构一般对网络要求相对B/S结构较高,一般的C/S结构的系统,仅适

36、合两种形式的网络,一种是局域网形式,一种是宽带用户,而且C/S结构的系统一旦在客户操作数据的高峰期时,可能会造成网络阻塞,相比来看,B/S结构的商业项目适合任何形式的网络,而且特别适合宽带达不到的地方。通过以上对C/S结构和B/S结构系统分析,网上视频点播系统,不需要用户太多复杂操作,而且现今视频播放不需要利用客户端的播放器,而是采用流行的flash播放器播放,所以采用B/S结构来制作更适合。而且通过对现今商业项目的考察,B/S结构这种上世纪90年代流行起来的开发结构正在逐步代替C/S结构,到现今基本成为商业项目开发的主流,因为它的方便性,易于维护,安全性,仅需能够连接internet的浏览器

37、就可操作的特性,所以本系统采用B/S结构。2.7.2 系统开发平台的选择JAVA在语言方面,我选择了J2EE,而不是其它诸如、C#等,因为从JAVA发展到现在,已经成为web商业项目的霸主,现今几乎大部分的web项目都采用了J2EE编程,因为JAVA本身是跨平台的、是开源的、并且发展了这么长时间,J2EE技术方面也出现了多框架,比如web框架struts、struts2,轻量级控制反转面向方面的框架spring,以及持久层框架hibernate、ibatis等,当然选择JAVA不仅是因为以上这些,更重要的是它本身具有的几个特性:1、 JAVA语言的简单性虽然在思维逻辑方面和C、C+是两种不同的

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

39、VA通过单继承类,多继承接口,也能实现多继承,并且支持类与接口之间的实现机制,JAVA语言全面支持动态绑定,相比C+语言只对虚函数使用动态绑定,并且JAVA语言是以类为基础的,所有功能都封装在类中,只有通过对象来调用相应的方法,才能实现该功能,是真正实现了数据和业务的封装,总之,JAVA是纯面向对象的。3、 JAVA语言是分布式的JAVA语言支持internet应用的开发,在基本的JAVA应用编程接口中有一个网络应用编程接口,并且它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等,所以说利用JAVA也完全能够写出TCP/IP或者UD

40、P类型的聊天系统。同时JAVA的远程方法启动机制也是开发分布式应用的重要手段。4、 JAVA语言是健壮的首先JAVA的强制类型机制,不像C或者C+那样对类型要求松懈,这使得JAVA语言出现BUG几率降低不少;其次JAVA的异常处理机制的设计和使用是完全成功的,异常处理机制可以算作一种逻辑处理的信道,例如业务逻辑处理流程可能会出现异常或者BUG,可以通过异常处理机制截获通过catch语句加以处理;再次JAVA的垃圾处理机制,可以让JAVA程序员感觉更方便,不像C+那样,创造出的对象,还需要程序员自己写析构函数,对对象进行析构,JAVA的垃圾回收机制巧妙在如果对象失去引用,将自动对该对象进行回收,

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

42、,ClassLoader类,如分配不同的名字空间以防替代本地同名类,字节代码检查并提供安全管理机制,SecurityManager类,让JAVA应用设置安全哨兵,因此JAVA语言是具有安全性的。6、 JAVA语言是体系结构中立的JAVA解释器生成与体系结构无关的字节码指令 ,只要安装了 JAVA运行时 系统 ,JAVA程序就可在任意的处理器上运行。这些字节码指令对应于 JAVA虚拟 机中的表示 ,JAVA解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平台运行。JAVA程序在JAVA平台上被编译为体系结构中立的字节码格式的.class檔,然后可以再实现这个JAVA平台的任何系统中运行,这

43、种途径适合于异构的网络环境和软件的分发。7、 JAVA语言是可移植的由于JAVA语言是体系结构中立的,所以它是有着可移植性,由于JAVA代码编译成.class檔是基于JAVA虚拟机的,JAVA代码是结构中立的,所以只要一台安装有JAVA虚拟机的任何系统的机器,都能将JAVA檔编译成.class檔,这就是JAVA的一次编译,处处执行的特性,另外,JAVA还严格规定了各个基本数据长度类型,JAVA本身也是具有很强的可移植性,JAVA编译器是用JAVA实现的,JAVA的运行环境是用ANSI C实现的。8、 JAVA语言是解释型的如上文所说,JAVA程序在JAVA平台上被编译成字节码格式,然后可以在任

44、何装有JAVA虚拟机的,装有任何操作系统上面执行,在运行时,JAVA平台中的JAVA解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段呗加载运行环境中。这使得连接过程更加简单化。9、 JAVA是高性能的和其它解释型语言相比,如BASIC、TCL不同,JAVA字节码的设计使之能很容易的直接转换为对应于特定CPU的机器码,从而得到较高的性能,并且JAVA的运行速度随着JIT编译器的技术发展越来越接近于C+。10、JAVA语言是多线程的一个程序运行是有多个线程组成的,而线程在JAVA语言中是一种特殊对象,创造一个线程类对象,那么该线程类必须继承Thread类,或者继承Thread类的子类,

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

46、机制Synchronized,以及一些操纵线程的方法,例如notify()、wait()等,便于线程之间的协作。这样多线程机制能是应用程序并行执行,而且同步机制保证了对数据的共享的正确操作,通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为和功能,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为,而且J2EE中的servlet,是自动多线程的,这样对于用户浏览器和服务器之间的交互就不需要程序员来处理多线程问题。11、JAVA语言是动态的JAVA语言从最开始到现在,已经发生了很多变化,这种变化可以算作进化,JAVA语言的变化最明显的一点就是适应于动态变化的环境,这

47、也是JAVA语言的设计目标之一,JAVA程序需要的类能够动态的被加载到运行环境,也可以通过网络来加载所需要的类,这也有利于软件的升级,另外,JAVA中的类有一个运行时刻的表示,能进行运行时刻的类型检查,JAVA的设计使它适合于一个不断发展的环境,在类库中可以自由的加入新的方法和对象、变量而不会影响用户程序的执行,并且JAVA通过接口来支持多继承,这种方式使JAVA比以往严格的多继承类更具灵活性。JAVA语言的这些特性使得JAVA应用具有无与伦比的健壮性和可靠性,也减少了维护的开支,JAVA对对象的全面支持和JAVA平台内嵌的API能缩短应用系统的开发时间并降低成本,JAVA的编译一次,到处执行的特性使得它能够提供一个随处可用的开放结构和在多平台之间信息传递信息的低成本方式,尤其是JAVA企业应用编程接口,为企业计算及电子商务应用系统提供了有关技术和丰富类库。2.7.3 .JAVA技术应用1、 ServletServlet是服务器端的JAVA应用程序,通过词义来看是小型

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1