




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,Copyright2008ByNeusoftGroup.Allrightsreserved,JAVAWEB编程背景知识,东软IT人才实训中心,1,课程目标,通过此课程的学习使学员:正确理解JavaWeb应用的相关概念并能够独立地编写简单的JavaWeb应用程序。掌握Servlet、JSP的运行原理,并能熟练使用这两种技术进行Web应用程序的开发。编写程序时应用基本的MVC思想。理解JSPTagLib技术。,2,培训学员应具备的预备知识,Java语言:掌握Java语言的基础知识和面向对象的特征,具备一定的面向对象编程能力,能够熟练阅读API文档辅助编程。Web相关知识:掌握HTML的基础知识、了解CSS、JavaScript。基础的网络知识和技能:基本的网络配置。,3,课程结构,4,第一章:背景知识,学时:3学时教学方法:讲授ppt,目标:本章旨在向学员介绍WEB应用开发的基础知识,让学员理解相关的概念和术语,为后面的章节学习打下基础,具体包括:1)理解分布式应用程序,C/S和B/S的模式的区别。2)理解Web应用中相关概念:URL、URI,请求响应模式。3)理解JavaEE应用程序的相关概念:容器,应用服务器及主要技术。,5,主要内容,分布式应用基础知识Web基础知识JavaEE简介,6,1.1分布式应用基础,7,集中式应用,8,集中式应用,集中式应用:是一个大型的中央系统,其终端是客户机,数据全部存储在中央系统,由数据库管理系统进行管理,所有的处理都由该中央系统完成,终端只是用来输入和输出。终端自己不作任何处理,所有任务都在主机上进行处理。例:银行的自动提款机(ATM)采用的就是集中式应用。主要特点:把所有数据保存在一个地方:各地办公室的远程终端通过电缆同中央计算机(主机)相联,保证了每个终端使用的都是同一信息。备份数据容易:因为他们都存储在服务器上,而服务器是唯一需要备份的系统。这还意味这服务器是唯一需要安全保护的系统,终端没有任何数据。所有的事务都在主机上进行处理:终端也不需要软驱,所以网络感染病毒的可能性很低。网络总费用比较低:因为主机拥有大量存储空间、功能强大的系统,而终端可以使用功能简单而便宜的微机和其他终端设备。主要缺点:来自所有终端的计算都由主机完成,处理速度可能有些慢。如果用户有各种不同的需要,在集中式计算机网络上满足这些需要可能是十分困难的,因为每个用户的应用程序和资源都必须单独设置,而让这些应用程序和资源都在同一台集中式计算机上操作,使得系统效率不高。因为所有用户都必须连接到一台中央计算机,集中连接可能成为一个大问题。由于这些限制,如今的大多数应用都采用了分布式计算模型。,9,分布式应用,分布式应用背景:由于个人计算机的性能得到极大的提高及其使用的普及,使处理能力分布到网络上的所有计算机成为可能。分布式计算是和集中式计算相对立的概念,分布式计算的数据可以分布在很大区域。分布式网络中,数据的存储和处理都是在本地工作站上进行的。因为每台计算机都能够存储和处理数据,所以不要求服务器功能十分强大,其价格也就不必过于昂贵。这种类型的网络可以适应用户的各种需要,同时允许他们共享网络的数据、资源和服务。在分布式网络中使用的计算机既能够作为独立的系统使用,也可以把它们连接在一起得到更强的网络功能。分布式处理的优点:快速访问、多用户使用:每台计算机可以访问系统内其他计算机的信息文件。系统设计上具有更大的灵活性,既可为独立的计算机的地区用户的特殊需求服务,也可为联网的企业需求服务,实现系统内不同计算机之间的通信;每台计算机都可以拥有和保持所需要的最大数据和文件;减少了数据传输的成本和风险。为分散地区和中心办公室双方提供更迅速的信息通信和处理方式,为每个分散的数据库提供作用域,数据存储于许多存储单元中,但任何用户都可以进行全局访问,使故障的不利影响最小化,以较低的成本来满足企业的特定要求。分布式处理的缺点:对病毒比较敏感:任何用户都可能引入被病毒感染的文件,并将病毒扩散到整个网络。备份困难:如果用户将数据存储在各自的系统上,而不是将他们存储在中央系统中,难于制定一项有效的备份计划。这种情况还可能导致用户使用同一文件的不同版本。管理和维护比较复杂:设备必须要互相兼容。分布式应用主要包括两层结构、三层结构及N层结构。,10,二层C/S结构,11,二层C/S结构,二层C/S结构是:C:客户端(client)、S:服务器(server)。是一种两层结构的系统,第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。CS模式主要由客户应用程序、服务器管理程序和中间件三个部分组成。,12,二层C/S结构的优缺点,优点:交互性强:在C/S中,客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能。安全性高:由于C/S配备的是点对点的结构模式,采用适用于局域网、安全性可以得到可靠的保证。响应速度快:由于C/S在逻辑结构上比B/S少一层,对于相同的任务,CS完成的速度总比B/S快,使得C/S更利于处理大量数据。由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。缺点:开发成本高:对客户端软硬件配置要求较高,尤其是在软件不断升级的情况下,对硬件的要求不断提高,增加了整个系统的成本。客户端程序设计复杂:大部分工作量放在客户端的程序设计上,使客户端变得越来越臃肿。软件移植困难:采用不同开发工具或平台开发的软件,兼容性较差。软件维护和升级困难:必须对每个客户端都要升级。,13,三层C/S结构,14,三层C/S结构,与两层C/S结构相比,在三层C/S结构中增加了一个应用服务器,将整个应用逻辑驻留在应用服务器上,而只有表示层存放在客户端上,这种结构也被称为瘦客户端(thinclient)。三层结构将整个应用分为表示层、功能层、数据层。表示层:负责与客户交互。功能层:相当于应用的本体,负责具体的业务逻辑。数据层:负责对数据库的读写。,15,三层C/S的优点,优点:系统的逻辑结构更加清晰:维护相对容易:充分利用功能层有效的隔离开数据层与表示层,未授权的用户难以绕过功能层非法访问数据。,16,B/S模式,B/S模式是:是三层应用结构的一种实现方式。基于Brower的分布式应用。具体结构为:浏览器/web服务器/数据库服务器。B/S架构主要利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的功能。在B/S模式中:除了数据库服务器外,应用程序以网页的形式存放在web服务器上,用户运行某个应用程序时只需在客户端上的浏览器中输入相应的网址即可。基于B/S模式的软件:系统安装、修改和维护全在服务器端解决,客户端仅需要一个浏览器即可,真正达到了”零客户端”。,17,B/S模式,18,C/S结构和B/S结构的比较,硬件环境不同:C/S建立在局域网的基础上,通过专门服务器提供连接和数据交换服务。所处理的用户不仅固定,并且处于相同区域,要求拥有相同的操作系统。BS建立在广域网的基础上,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。与操作系统平台关系最小,面向不可知的用户群。结构不同:CS软件一般采用两层结构,而BS采用三层结构:这两种结构的不同点是两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只是简单地接收用户的请求,显示最后的结果。由于三层结构中的客户端并不需要参与计算,所以对客户端的计算机电脑配置要求较低。虽然B/S采用了逻辑上的三层结构,但在物理上的网络结构仍然是原来的以太网或环形网。这样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用同一条网络线路,网络通信量大。而CS只有两层结构,网络通信量只包括Client与Server之间的通信量,网络通信量低。所以,CS处理大量信息的能力是BS无法比拟的。处理模式不同:BS的处理模式与CS相比,大大简化了客户端,只要装上操作系统、网络协议软件以及浏览器即可,这时的客户机成为瘦客户机,而服务器则集中了所有的应用逻辑。构件重用不同:在构件的重用性方面,CS程序从整体进行考虑,具有较低的重用性。而B/S对应的是多重结构,要求构件具有相对独立的功能,具有较好的重用性。,19,C/S结构和B/S结构的比较(续),系统维护不同:系统维护是在软件生存周期中开销最大的一部分。CS程序由于其本身的整体性,必须整体考察并处理出现的问题。而BS结构,客户端不必安装及维护。BS结构在构件组成方面只变更个别构件,开发、维护等工作都集中在服务器端。当需要升级时,只需更新服务器端的软件,而不必更换客户端软件,实现系统的无缝升级。这样就减轻了系统维护与升级的成本和工作量,使用户的总体拥有成本(TCO)大大降低。对安全的要求不同:由于CS采用配对的点对点的结构模式,并采用适用于局域网、安全性比较好的网络协议(例如NT的NetBEUI协议),安全性可得到较好的保证。CS一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用CS结构适宜。而BS采用点对多点、多点对多点这种开放的结构模式,并采用TCPIP这一类运用于Intemet的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。所以BS对安全以及访问速度比CS有更高的要求。而Intemet技术中这些关键的安全问题远未解决。速度不同:由于CS在逻辑结构上比BS少一层,对于相同的任务,CS完成的速度总比BS快,使得CS更利于处理大量数据。交互性与信息流不同:交互性强是CS固有的一个优点。在CS中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。BS虽然由JavaScript、VBScript提供了一定的交互能力,但与CS的一整套客户应用相比是太有限了。CS的信息流单一,而BS可处理如B-B、B-C、B-G等信息并具有流向的变化。,20,1.2Web应用基础,21,Web简介,超文本(hypertext):一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索,它是超级文本的简称。超媒体(hypermedia):超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。Web是一个分布式的超媒体(hypermedia)信息系统,它将大量的信息分布于整个因特网上。Web的任务就是向人们提供多媒体网络信息服务。Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。你可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性我们才把它称为Web。,22,Web简介(续),Web历史诞生于CERN(欧洲粒子物理研究所)1990年11月,第一个Web服务器nxoc01.cern.ch开始运行。1991年,CERN正式发布了Web技术标准。1993年,第一个图形界面的浏览器Mosaic开发成功。1995年,著名的NetscapeNavigator浏览器问世。随后,微软公司推出了著名的浏览器软件IE。目前,与Web相关的各种技术标准都由著名的W3C组织(WorldWideWebConsortium)管理和维护。W3C:W3C是英文WorldWideWebConsortium的缩写,中文意思是万维网联盟。W3C于1994年10月在麻省理工学院计算机科学实验室成立。W3C组织是对网络标准制定的一个非赢利组织,像HTML、XHTML、CSS、XML的标准就是由W3C来定制的。,23,Web的特点,Web是图形化的和易于导航的(navigate):Web非常流行的一个重要原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。Web与平台无关:无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape的Navigator、NCSA的Mosaic、Microsoft的Explorer等。Web是分布式的:大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。Web是动态的:最后,由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的。经常更新的。这一点是由信息的提供者保证的。Web动态的特性还表现在Web是交互的。Web的交互性首先表现在它的超连接上,用户的浏览顺序和所到站点完全由他自己决定。另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。,24,Web资源,Web资源是互联网上的一种信息,提供Web信息内容,分布于全球不同的计算机上。分为:静态资源:静态的文件,如HTML等。动态资源:动态的文件,如Jsp等。,25,Web核心技术,超文本传输(HTTP)协议:全称HyperTextTransferProtocol。是一种支持HTML文档格式的网络传输协议,主要用来实现信息的传输。统一资源定位符(URL):全称UniformResourceLocator。实现互联网上资源的定位统一标识。超文本标记语言(HTML):全称HyperTextMarkupLanguage。主要用来实现信息的表示与存储。,26,图示:一次HTTP请求的信息内容,示例:一次HTTP请求的内容一个请求由四个部分组成:请求行:表明http请求方法、请求URI、HTTP版本。请求头部:空行:请求数据:,HTTP协议,27,图示:一次HTTP的响应信息,示例:一个HTTP响应信息HTTP应答一般由以下几项构成:一个状态行:一个或多个应答头:一个空行:内容文档。,HTTP协议(续),28,HTTP请求与响应的过程,图示:HTTP请求与HTTP响应,请求与响应的过程:客户端浏览器将请求信息发送到指定的服务器端口。服务器端的HTTP处理程序接受并处理客户的请求,并发送响应信息到客户端。客户端浏览器解释响应信息,并显示。,29,URL,URL:UniformResourceLocator(统一资源定位符)是用来标识Web资源的,每个Web资源在互联网上有自己唯一的URL。可以说,URL是web资源在Internet上的地址簿。URL通常由下列三部分组成:第一部分:协议访问web资源的方式。包括HTTP、FTP、TELNET等类型,分别指定为采用超文本传输协议连接、采用文件传输协议连接、与TELNET会话连接等。第二部分:存有该资源的主机IP地址,或者机器名称及端口号。端口是Internet用来辨别特定信息服务用的一种软件标识,其设置范围是0到65535之间的整数,一般情况下使用的是标准端口号,可以不用写出。在需要特殊服务时会用到非标准端口号,这时就要写出,如:81。常见的Internet提供服务的端口号,如HTTP的标准端口号为80,TELNET的标准端口号为23,FTP的标准端口号为21等等。,30,URL(续),第三部分:路径名。路径名是给出资源在所在机器上的完整文件名,一般情况下只有用户知道所要找的资源在什么地方时才会给出这个选项。URL的格式:第一部分和第二部分之间用“:/”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。:/:/。如:,31,URI,URL的缺点URL是绝对的,当信息资源的存放地点发生变化时,必须对URL作相应的改变。URI:(UniversalResourceIdentifier)统一资源标识符。也是用来标示一个web资源的。URI可以是相对的,例如,uri:first/hello.html。URL是URI的子集。URI是一个相对来说更广泛的概念,URL是URI的一种,是URI命名机制的一个子集,可以说URI是抽象的,而具体要使用URL来定位资源。一个URL是一个URI,但一个URI不一定是URL约定:后面提到的URI都是相对的URI,表示“/”部分,32,服务端对Web资源的处理,服务器端的处理:通过请求的URL匹配相应的Web资源静态资源:设置响应,将静态文件内容写到响应的主体中。动态资源:调用相应的程序,由程序生成响应信息。将HTTP响应发送给客户。,33,Web应用和Web站点,Web站点:一个web站点就是一些静态HTML页面的集合。WEB应用:WebApplication基于HTTP协议的应用程序。Client/Server的结构。客户:通过HTTP请求发送数据。服务器:处理,并通过HTTP响应将结果显示给客户。交互过程:HTTP请求与响应的过程。,34,Web应用技术发展,SSI:ServerSideIncludes最早的Web服务器技术,简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,该技术可以让Web服务器在返回HTML文件前,更新HTML文件的某些内容,但其功能非常有限。CGI:CommonGatewayInterface是第一种真正使服务器能根据运行时的具体情况,动态生成HTML页面的技术。1993年,CGI1.0的标准草案由NCSA(NationalCenterforSupercomputingApplications)提出,1995年,NCSA开始制定CGI1.1标准,1997年,CGI1.2也被纳入了议事日程。CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务端的动态信息交换成为了可能。随着CGI技术的普及,聊天室、论坛、电子商务、信息查询、全文检索等各式各样的Web应用蓬勃兴起,人们终于可以享受到信息检索、信息交换、信息处理等更为便捷的信息服务了。PHP:PersonalHomePageTools1994年,RasmusLerdorf发明了专用于Web服务端编程的PHP(PersonalHomePageTools)语言。与以往的CGI程序不同,PHP语言将HTML代码和PHP指令合成为完整的服务端动态页面,Web应用的开发者可以用一种更加简便、快捷的方式实现动态Web功能。,35,Web应用技术发展(续),ASP1996年,Microsoft借鉴PHP的思想,在其Web服务器IIS3.0中引入了ASP技术。ASP使用的脚本语言是我们熟悉的VBScript和JavaScript。借助MicrosoftVisualStudio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。Java以Sun公司为首的Java阵营也不会示弱。1997年,Servlet技术问世,1998年,JSP技术诞生。Servlet和JSP的组合(还可以加上JavaBean技术)让Java开发者同时拥有了类似CGI程序的集中处理功能和类似PHP的HTML嵌入功能,此外,Java的运行时编译技术也大大提高了Servlet和JSP的执行效率-这也正是Servlet和JSP被后来的J2EE平台吸纳为核心技术的原因之一。.NET2002年,Microsoft正式发布.NETFramework和VisualStudio.NET开发环境。,36,1.3JavaEE简介,1.3.1JavaEE系统层统(Layer)结构,37,J2EE从1.4后更名为JavaEE-JavaPlatformEnterpriseEdition(java平台企业版)。JavaEE是一套技术架构,可提高可移植性、安全与再用价值,其核心是一组技术规范与指南。JavaEE可使开发人员可只注重于商业逻辑与架构设计。推出JavaEE的目的是克服传统C/S模式的弊端,迎合B/S架构的潮流。JavaEE是一个标准不是一个现成的产品,各个平台开发商按照JavaEE规范开发了不同的JavaEE应用服务器。JAVAEE的各种组件:SERVLET:是JAVA平台上的CGI技术。依靠线程的方式支持并发访问。JSP:JAVASERVEPAGE实现普通静态HTML和动态页面输出混合编码的技术,最终还是转换成SERVLET。EJB:定义了一组可重用的组件。JDBC:JAVA数据库连接是一个标准SQL数据库访问接口。JDBCAPI主要用来连接数据库和直接调用SQL命令执行各种SQL语句。更多的包括JMS、JCA、JNDI等等。,JavaEE简介,38,服务器端的应用软件程序,服务器端程序的特点基于网络多用户服务器端编程业务逻辑持久性存储网络通信并发访问、多线程事务管理安全管理,39,JavaEE的出发点,提供面向服务的底层结构以支持和管理组件,使企业应用的开发人员专心于业务逻辑的实现,而不必过多地考虑提供服务的底层问题。,40,JavaEE容器,理解容器(Container),应用程序组件,开发者编写的JavaEE应用程序组件要运行在容器中容器提供对应用程序组件的支持(S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融合同财产保险合同格式3篇
- 典当股票质押合同(标准版)
- 建筑工程质量控制与验收方案
- 光伏系统智能监控与数据管理方案
- 城市污水管网管道沉降监测方案
- 施工期间噪音振动控制方案
- 2025山东潍坊市教育局所属学校第二批次招聘工作人员8人备考练习试题及答案解析
- 2025年甘肃省平凉市社会福利院招聘备考练习题库及答案解析
- 施工现场临时交通引导方案
- 2025天津宁河区公益性岗位招聘11人备考练习试题及答案解析
- 加油、加气、充电综合站项目可行性研究报告
- 塔机拆卸合同范本
- 2024-2025学年广东省深圳市南山区四年级(下)期末数学试卷
- 《煤矿安全规程(2025版)》知识培训
- 2025秋数学(新)人教五年级(上)第1课时 小数乘整数
- 半导体行业面试问题及答案解析
- 《数字技术应用基础模块》技工中职全套教学课件
- 房屋拆除专项施工方案(3篇)
- AutoCAD电气工程制图 课件 项目1 低压配电柜的绘制与识图
- 2025年小学生“学宪法、讲宪法”网络知识竞赛题库及答案
- 2025年银行考试-银行间本币市场交易员资格考试历年参考题库含答案解析(5套典型考题)
评论
0/150
提交评论