JSP电影网的设计与实现.docx
《JSP电影网的设计与实现.docx》由会员分享,可在线阅读,更多相关《JSP电影网的设计与实现.docx(43页珍藏版)》请在冰豆网上搜索。
JSP电影网的设计与实现
密级:
JINGGANGSHANUNIVERSITY
本科毕业论文(设计)
题目JSP电影网的设计与实现
姓名谭斌
学号********
学院电子与信息工程学院
专业软件工程
班级09软件本
(1)班
指导教师曾宪文
起讫时间2012.1.1-2013.5.10
教务处印制
【摘要】
本课题基于JSP以及SQLSever2005数据库技术,实现在线电影网的设计。
该系统可以实现前台的影片在线播放、影片下载、影片评论、找回密码等功能,也可实现后台的会员管理、影片管理、投票管理、新闻管理、公告管理等功能。
该系统采用B/S结构模型,基于javaWeb开发该系统,给用户提供了足不出户便可在线看影片的方便。
论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进
行相应的简单介绍。
在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,jsp电影网运行是可行的。
在需求分析结果的基础上,对系统的功能模块进行划分。
接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。
在系统的设计与实现中,确定系统的开发思想以及开发环境,并对系统中的JavaBean和Servlet代码进行设计。
最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。
【关键词】SQLSever2005数据库;在线电影网;javaBean
【Abstract】
【Abstract】:
ThissubjectisbasedonJSPandSQLSever2005toachievethedesignofmovieonlinewebsite.Thissystemattaintotheforegroundsystemsuchasmovieonlineplaying,film’sdownloading,film’scomments,retrievingthepasswordetc.Moreover,itcanrealizesomefunctionsofbackgroundsystemsuchasmembermanagement,filmmanagement,votingmanagement,newsmanagement,andannouncementmanagementandsoon.ItadoptstheB/SstructuremodelandbasedonaJavaWebwhichoffersconveniencefortheuser.
Thepaperfirstdiscussesthesystemdevelopmentbackgroundanddesigngoal,andsystemdevelopmenttechniquesusedinAsimpleintroductionofthecorresponding.Inthesystemanalysis,thesystemmodelanalysissimple,cleartheoperationprocessofthesystem,andthesystemfeasibilityanalysis,identifiedinthepresentconditions,theJSPfilmisfeasible.Basedonthedemandanalysis,thefunctionofthesystemmoduledivision.Thenthedatabaseonthesystemmodeldesign,includingdataflowdiagrams,entityrelationshipdiagramanddatatablestructure.Inthesystemdesignandimplementation,todeterminethesystem'sdevelopmentideaanddevelopmentenvironment,andthedesigntothesystemofJavaBeanandServletcode.Finally,thedetaileddesignandimplementationofsystemmodules,andthesystemmoduleinvolvesthekeysourcecodeareanalyzedindetail.
【Keywords】:
SQLSever2005;Database;Movieonline;javaBean
第1章绪论
1.1系统背景
随着现代技术的快速发展,互联网的普及也随之成正比。
2012年7月15日,中国互联网络信息中心(CNNIC)[1]在北京发布了《第26次中国互联网络发展状况统计报告》。
报告报道:
“截至2012年6月底,我国网民规模达7.2亿人,互联网普及率持续上升增至50.8%”。
随着网络的普及,越来越多的应用出现在网络上,这使得越来越多的人对图片、文章、多媒体视频等应用的不满足,而在线电影网得到了异常迅猛的发展。
近年来,Internet技术得到迅速的发展,已经成为计算机产业的一个技术热点。
促成Internet高速发展的因素之一就是Web技术。
Web技术由最初的静态HTML发展到动态网页技术DHTML,CGI(CommandGatewayInterface),脚本语言与ASP(ActiveServerPages)后来居上,并且大有取代CGI的趋势。
Web已经不再局限于仅仅提供大量的信息服务,Web技术的发展使得那些具有交互动态页面、有条理的数据库查询、丰富信息内容的页面成为最吸引人的网页。
浏览Web有着执行Windows程序一样的感觉和操作性。
随着Internet技术的发展,它已经成为一种操作平台,为用户提供强大的服务,例如网上购物,网上电子商务,社会信息数据库服务等。
作为计算机发展最迅速的领域之一的数据库技术,已经形成了一整套独有的理论,并广泛地应用于人们的生产和生活中。
数据库技术与网站的结合是当今Web技术的一个热点。
有了数据库的支持,可以扩展网页的功能,可以方便地设计出交互式页面,可以构造功能强大的后台管理系统,可以为网站的更新、维护提供极大的方便。
因此,作为网络开发者或管理者,数据库知识是必不可少的。
视频流媒体服务一直被认为是互联网服务中的一个热点领域,但是由于技术、内容以及带宽等方面的限制,一直没有实现预料中的发展。
目前,视频压缩技术已经取得了重大的进步,视频流媒体的传输速度、品质以及成本控制都得到了很大的改善,为视频媒体传输创造了有利条件,同时宽带网络的普及也使得多数家庭用户具备了享受网络视频服务的条件。
In-Stat/MDR预计,到2013年,这个数字将超过5亿。
InStat/MDR预计,视频订阅服务最繁荣的市场将出现在亚洲,预计2013年亚洲市场视频媒体订阅服务的营业额将达到25亿美元,但是美国的市场潜力也不可忽视,有调查报告表明,美国消费者对收费互联网内容服务的接受程度正在跳跃式地提高。
这个前景诱人的市场将成为网络巨人们逐鹿的舞台,在线视频服务正在面临这个各种各样的变化,各家大型的媒体公司和服务提供商都有机会分食这个大蛋糕。
1.2系统目的
现在我国的信息管理水平还比较落后,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代传统的管理方法必然被计算机为基础的信息管理所取代。
软件作为一项有力的工具,只能当此种工具,与我们的实践相结合起来的时候,才具有重大的社会价值及使用价值。
因此根据目前实际的情况开发这样一套管理系统是十分必要的。
随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机进行管理,具有着手工管理所无法比拟的优点。
例如:
可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工作的效率,也是信息正规化管理与世界接轨的重要条件。
本系统用JSP语言来编写本系统,数据库用SQLSERVER2005来连接系统。
本论文主要涉及软件,数据库与网络技术等。
涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
满足用户的需要,开发基于JavaWeb的在线电影网,为用户提供方便。
1.3可行性研究
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。
1.经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
2.技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
本系统的开发,是典型的Mis开发。
采用JSP编程语言,已无技术上的问题。
3.运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。
当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
4.法律可行性
①所有技术资料都为合法。
②开发过程中不存在知识产权问题。
③未抄袭任何系统,不存在侵犯版权问题。
④开发过程中未涉及任何法律责任。
综上所述,本系统的开发从技术上、从经济上、从法律上等都是完全可靠的。
1.4需求分析
需求分析是软件设计的一个重要的环节。
本阶段对系统管理系统的应用情况作全面调查,以确定系统目标。
确定用户的需求。
用户对系统的需求我们从以下几方面进行分析。
1.4.1系统需求
用JSP开发系统管理系统基于B/S模式,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行。
所有的工作基于浏览器,安装、使用、维护、升级十分简单。
1.4.2性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行。
系统处理的准确性和及时性是系统的必要性能。
由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
1.4.3应用需求分析
服务器
硬件
处理器:
Intel酷睿2或更高
内存:
512M或更大
硬盘:
50G或更大
软件
MicrosoftWindowsXP
客户机
硬件
无特殊要求
软件
MicrosoftWindowsXP
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。
硬件系统环境:
C600、1GMB(RAM)、500MB(HD)。
系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。
此外,对其它软件几乎没有依赖性,程序健壮性较好
1.4.4运行需求分析
硬件条件:
酷睿2CPU、1GRAM、50G硬盘以上的PC机。
软件条件:
WindowsXP
1.4.5其他需求分析
本系统有较好的可维护性、可靠性、可理解性、效率。
易于用户理解和操作。
可维护性包括了可读性、可修改性、可测试性、等含义。
可靠性通常包括正确性和健壮性。
开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
第2章相关技术介绍
2.1JSP技术简介
JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。
由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。
在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。
JSP技术为创建显示动态生成内容的web页面提供了简便的方法。
JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
2.2JSP工作原理
JSP是面向服务器的,因此支持任何浏览器。
当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。
JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。
这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。
因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。
2.3JSP体系结构
JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。
模式一:
JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。
Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。
当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。
所以模式一可用于小型应用,不能够满足大型应用的需要。
模式二:
JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。
从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。
而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。
2.4JSP的特点
1.简化的页面生成技术。
JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。
这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。
2.与Java平台有机集成。
JSP技术是Java2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。
在JSP页面中可以使用几乎所有的Java组件和JavaAPI,这就能充分发挥出Java语言的强大功能。
使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。
3.硬件平台和服务器无关性。
JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(WriteOnce,RumAnywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
4.功能可扩展性。
如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(EnterpriseJavaBean)以及自定义的标记来扩展功能。
JSP可以通过JDBC,与诸如Oracle、SQLServer这样的大型关系数据库进行连接。
JSP提供了一些隐含对象。
这些隐含对象在JSP页面中可以直接引用,而不必首先声明。
利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。
例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。
2.5SQLServer2005数据库
SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。
SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2005是Microsoft公司于2005年推出的最新版本。
SQLServer特点:
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。
SQLServer也可以很好地与MicrosoftBackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
2.6系统数据库连接
JDBC技术是JavaDataBaseConnectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(ApplicationProgrammingInterface)。
它由一组用Java语言编写的类和接口组成。
通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。
因此,开发人员使用JDBCAPI可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQLServer。
不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。
简单地说,JDBC能完成下列三件事:
1.同一个数据库建立连接;
2.向数据库建立连接;
3.处理数据库返回的结果。
JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。
说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。
很多可视化的Java开发工具,如VisualAgeForJava、VisualCafé、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。
另一种使用JDBCAPI的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。
通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。
数据库访问的三层结构如图2.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。
图2.1使用中间件的数据库访问三层结构
用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。
这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。
本系统采用的正是这样的三层结构的数据库访问模式。
在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。
数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。
其模型如图2.2所示。
图2.2JDBC的三层模型
因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。
所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。
JDBC是JAVA应用程序与数据库的沟通桥梁。
它提供了三项服务功能:
一、与数据库建立连接。
二、将SQL语句传递给数据库。
三、从数据库取得SQL语句的执行结果。
当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。
建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(JavaVirtualLMachine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。
完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。
此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。
当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。
Statement主要实现两个功能:
执行SQL语句以及取得执行结果。
在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。
每个Statement对象只能产生一个ResultSet对象。