Web层Web层设计中的问题与Web应用程序部署客户端课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Web层Web层设计中的问题与Web应用程序部署客户端课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 设计 中的 问题 应用程序 部署 客户端 课件
- 资源描述:
-
1、1 Web层层 Web层设计中的问题与指南层设计中的问题与指南 Web应用程序部署应用程序部署 客户端客户端5.显示层技术显示层技术25.5.1 Web1 Web层层WebWeb层的工作就是接收来自于层的工作就是接收来自于HTTPHTTP客户端客户端的输入,将收到的输入交给内部的业务逻辑进的输入,将收到的输入交给内部的业务逻辑进行处理,然后将结果通过行处理,然后将结果通过HTTPHTTP协议送回客户端。协议送回客户端。5.显示层技术显示层技术WebWeb层层在基于在基于InterentInterent的分布式应用框架中,显示的分布式应用框架中,显示层一般由层一般由WebWeb层和客户端两部分组
2、成。层和客户端两部分组成。3HJSP文件:从文件:从HTTP的请求中提取参数,调的请求中提取参数,调用相应的业务逻辑,处理用相应的业务逻辑,处理HTTP会话,最后会话,最后生成生成HTTP文档。总的看来,这个模型的好文档。总的看来,这个模型的好处是简单,但是它把业务逻辑和表现混在一处是简单,但是它把业务逻辑和表现混在一块,对大应用来说,这个缺点是令人容忍不块,对大应用来说,这个缺点是令人容忍不了的。了的。 n 两种模型两种模型浏览器浏览器数据库数据库BeanJSP文件文件5.显示层技术显示层技术WebWeb层层4HMVC模式模式(Model/View/Controller) 5.显示层技术显示
3、层技术WebWeb层层F 定义:定义:MVCMVC是一个设计模式,它强制性的使应是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。用程序的输入、处理和输出分开。 视图:用户看到并与之交互的界面。对老式视图:用户看到并与之交互的界面。对老式的的WebWeb应用程序来说,视图就是由应用程序来说,视图就是由HTMLHTML元素组元素组成的界面,在新式的成的界面,在新式的WebWeb应用程序中,还包括应用程序中,还包括MacromediaMacromediaFlashFlash和象和象XHTMLXHTML,XML/XSLXML/XSL,WMLWML等一些标识语言和等一些标识语言和WebWeb
4、servicesservices。 5 模型:表示企业数据和业务规则。在模型:表示企业数据和业务规则。在MVCMVC的的三个部件中,模型拥有最多的处理任务。被三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,即模型与数据格模型返回的数据是中立的,即模型与数据格式无关。式无关。 5.显示层技术显示层技术WebWeb层层 控制器:接受用户的输入,根据请求决定调控制器:接受用户的输入,根据请求决定调用模型构件去处理请求,然后确定用哪个视用模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。图来显示模型处理返回的数据。 67F 为什么要使用为什么要使用 MVCMVC5.显示层技
5、术显示层技术WebWeb层层 多个视图能共享一个模型。由于多个视图能共享一个模型。由于MVCMVC已经将数已经将数据和业务规则从表示层分开,无论用户想要据和业务规则从表示层分开,无论用户想要FlashFlash界面或是界面或是WAPWAP界面界面, ,用一个模型就能处理用一个模型就能处理它们它们, , 可以最大化的重用代码可以最大化的重用代码 。 模型返回的数据没有进行格式化,所以同样模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。的构件能被不同界面使用。 85.显示层技术显示层技术WebWeb层层由于运用由于运用MVCMVC的应用程序的三个部件是相互的应用程序的三个部件是相互对
6、立,改变其中一个不会影响其它两个,对立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松偶所以依据这种设计思想能构造良好的松偶合的构件。合的构件。可以使用控制器来联接不同的模型和视图可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。造应用程序提供强有力的手段。9F MVCMVC的缺点的缺点 使用使用MVCMVC需要精心的计划,花费相当可观的时需要精心的计划,花费相当可观的时间去考虑如何将间去考虑如何将MVCMVC运用到应用程序,同时运用到应用程序,同时由于模型和视图要严格的分离,这样也给调由于
7、模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。试应用程序到来了一定的困难。 所以使用所以使用MVCMVC同时也意味着要管理比以前更多同时也意味着要管理比以前更多的文件,增加了工作量。的文件,增加了工作量。5.显示层技术显示层技术WebWeb层层105.显示层技术显示层技术WebWeb层层 MVC MVC设计模式是一个很好创建软件的途径,设计模式是一个很好创建软件的途径,但是如果要隔离模型、视图和控制器的构件,则但是如果要隔离模型、视图和控制器的构件,则要重新思考应用程序,尤其是应用程序的构架。要重新思考应用程序,尤其是应用程序的构架。 MVCMVC并不适合小型甚至中等规模的应用
8、程并不适合小型甚至中等规模的应用程序,花费大量时间将序,花费大量时间将MVCMVC应用到规模并不是很大应用到规模并不是很大的应用程序通常会得不偿失。的应用程序通常会得不偿失。 11H交付应用的功能到交付应用的功能到Web之上:应用设计通之上:应用设计通常将业务逻辑从数据显示中分离出来。常将业务逻辑从数据显示中分离出来。Web层为后端应用模型中的业务逻辑(可层为后端应用模型中的业务逻辑(可以被其它类型的客户端共享访问),接收以被其它类型的客户端共享访问),接收HTTP输入并产生输入并产生HTTP输出。输出。n Web层的功能层的功能5.显示层技术显示层技术WebWeb层层12H动态内容创建:动态
9、内容创建:Web层组件为产生动态层组件为产生动态Web内容来设计的。内容来设计的。Servlets和和JSP页面可以基页面可以基于用户的输入与上下文将来自于多种源的数于用户的输入与上下文将来自于多种源的数据格式转化为任意的数据格式。据格式转化为任意的数据格式。H屏幕流程:由于屏幕流程往往对应到特定的客屏幕流程:由于屏幕流程往往对应到特定的客户端的动作,因此决定下一屏幕(也即哪个页户端的动作,因此决定下一屏幕(也即哪个页面)应该显示什么的逻辑一般驻留在面)应该显示什么的逻辑一般驻留在Web层。层。5.显示层技术显示层技术WebWeb层层13H数据表示和输入收集:数据表示和输入收集:Web层和层和
10、Web客户端客户端进行通讯以使得格式化代码的进行通讯以使得格式化代码的Web文档自然文档自然就属于就属于Web层。其次,用户的输入以层。其次,用户的输入以HTTP的的PUT和和GET动作到达动作到达Web层,层,Web层收到层收到这些动作即将其翻译为某种形式(经常是某这些动作即将其翻译为某种形式(经常是某种形式的命令对象)以便其余的应用可以理种形式的命令对象)以便其余的应用可以理解。解。5.显示层技术显示层技术WebWeb层层14H状态管理:状态管理:Web层有一个简单的、灵活的机制层有一个简单的、灵活的机制用来在一个用户的会话期间积聚相应的事务型用来在一个用户的会话期间积聚相应的事务型数据和
11、上下文数据。数据和上下文数据。H协议转换:协议转换:EJB 服务器、数据库、服务器、数据库、EIS层资源层资源管理器和其它的网络资源都有它们自己的协议。管理器和其它的网络资源都有它们自己的协议。Web层作为一个软件层,把来自于其它协议的层作为一个软件层,把来自于其它协议的请求和应答翻译为请求和应答翻译为HTTP形式,或者,把形式,或者,把HTTP请求和应答翻译成其它协议的形式。请求和应答翻译成其它协议的形式。5.显示层技术显示层技术WebWeb层层15H对多种潜在的客户端类型的支持:对多种潜在的客户端类型的支持:Web使用使用HTTP协议来传送数据给客户端,数据通过协议来传送数据给客户端,数据
12、通过MIME类型(一种扩展的内容分类机制)来类型(一种扩展的内容分类机制)来描述。任何描述。任何HTTP形式的客户端都能够加入形式的客户端都能够加入一个一个Web应用,且此客户端能够使用可以下应用,且此客户端能够使用可以下载内容的任意类型,即使内容的类型还未存载内容的任意类型,即使内容的类型还未存在。在。5.显示层技术显示层技术WebWeb层层16J2EEJ2EE的的WebWeb层技术提供了服务器的扩展机制,层技术提供了服务器的扩展机制,该机制提供了一种基于服务器端脚本设计所带该机制提供了一种基于服务器端脚本设计所带来的好处,并且采用的是一种标准的、安全的、来的好处,并且采用的是一种标准的、安
13、全的、厂商中立的方法。厂商中立的方法。WebWeb应用及支持它的应用及支持它的WebWeb层技层技术包括术包括Web Web 档案(档案(archivearchive)、)、WebWeb层组件模型、层组件模型、servletsservlets, JSP , JSP 及及J2EEJ2EE的的Web Web 容器。容器。n Web层层技术技术5.显示层技术显示层技术WebWeb层层17HWeb档案:对一个档案:对一个Web应用的打包和部署之应用的打包和部署之单元称之为一个单元称之为一个Web档案(档案(Web archive,以以“.war”作为文件名的结尾),此文件包作为文件名的结尾),此文件包
14、含当前含当前Web应用的所有类文件与资源,应用的所有类文件与资源,Web档案也包含一个配置该应用的部署描述器文档案也包含一个配置该应用的部署描述器文件。件。5.显示层技术显示层技术WebWeb层层18HWeb容器:一个容器是位于服务器里面的类容器:一个容器是位于服务器里面的类之集合,它们相互合作以管理组件实例的生之集合,它们相互合作以管理组件实例的生命周期并对那些实例提供数据和服务。命周期并对那些实例提供数据和服务。 J2EE规范定义了一个在规范定义了一个在Web容器与每一容器与每一Web组件之间的约定契约,用以定义组件组件之间的约定契约,用以定义组件的生命周期、组件必须实现的行为、以及服的生
15、命周期、组件必须实现的行为、以及服务器必须提供给该组件的服务。务器必须提供给该组件的服务。5.显示层技术显示层技术WebWeb层层19F WebWeb容器的作用:容器的作用: 分发服务请求:容器分发服务请求给它所包分发服务请求:容器分发服务请求给它所包含的组件,将上下文数据(如会话数据与当含的组件,将上下文数据(如会话数据与当前请求的信息)提供给组件,并且协调该组前请求的信息)提供给组件,并且协调该组件响应内容的产生。件响应内容的产生。 HTTPHTTP请求的应答:对于请求的应答:对于URLURL的的HTTPHTTP请求翻译成请求翻译成对组件实例的调用,并将基于组件所产生的对组件实例的调用,并
16、将基于组件所产生的内容生成相应的内容生成相应的HTTPHTTP应答。应答。5.显示层技术显示层技术WebWeb层层20 组件生命周期的管理:组件生命周期的管理:WebWeb容器通过回叫容器通过回叫(callbackcallback)的方式来通知组件的状态变化)的方式来通知组件的状态变化如实例初始化和消亡,实现对其组件的生命如实例初始化和消亡,实现对其组件的生命周期管理。周期管理。5.显示层技术显示层技术WebWeb层层21ServletServlet是一种是一种JavaJava平台服务器端扩展组件,平台服务器端扩展组件,它运行在一个它运行在一个WebWeb容器的里面。容器的里面。在一个在一个W
17、eb应用应用中,每一中,每一Servlet的类都被映射成的类都被映射成Web服务器中服务器中的一个或多个的一个或多个URL地址。当服务器接收到对某地址。当服务器接收到对某个个servlet的的URL的一个的一个HTTP请求(请求(GET, POST等)的时候,服务器调用相应的等)的时候,服务器调用相应的servlet的服务方法(的服务方法(service()),该方法产生此应答),该方法产生此应答的动态内容。的动态内容。 n ServletServlet5.显示层技术显示层技术WebWeb层层22HServlets特点特点F Servlets采用采用Java来书写,因此能够运行来书写,因此能够
18、运行在一个内嵌在在一个内嵌在Web Server里面的里面的JVM实例实例之上。之上。F Servlets通常比通常比CGI程序或脚本要快,因为程序或脚本要快,因为它们运行的形式是编译过的字节码,取代的它们运行的形式是编译过的字节码,取代的是一个笨重的进程或一个解释脚本。是一个笨重的进程或一个解释脚本。 5.显示层技术显示层技术WebWeb层层23F Servlets比扩展库要安全,因为比扩展库要安全,因为JVM实例通实例通常可以恢复一个非正常退出的常可以恢复一个非正常退出的servlet 。F 与服务器端脚本技术相比,与服务器端脚本技术相比,servlets的移植性的移植性更好,并且它所提供
19、的是一个更为丰富的标准更好,并且它所提供的是一个更为丰富的标准服务的集合。服务的集合。5.显示层技术显示层技术WebWeb层层24F 由于由于Java平台所固有的运行时的可移植性,平台所固有的运行时的可移植性,编译过的编译过的servlet类具备二进制形式的跨硬件类具备二进制形式的跨硬件平台的移植性;平台的移植性; servlet与其容器之间的契与其容器之间的契约由约由Java Servlet规范予以定义并且由规范予以定义并且由J2EE兼容测试包检验过(在一个兼容测试包检验过(在一个J2EE品牌品牌的产品里),因此的产品里),因此servlets也可以跨也可以跨Web服服务器兼容。务器兼容。5
20、.显示层技术显示层技术WebWeb层层25F Servlet开发人员可以创建能在所有开发人员可以创建能在所有J2EE品牌品牌服务器上正确运行的产品,服务器上正确运行的产品,J2EE服务器用户可服务器用户可以更换技术厂商而只做很小的甚至根本就不需以更换技术厂商而只做很小的甚至根本就不需要更改它们的应用代码。要更改它们的应用代码。F 打包和部署打包和部署servlets(及其它的(及其它的Web层组件和层组件和资源)的规范化和标准化,确保了一个资源)的规范化和标准化,确保了一个Web应应用不用作任何代码修改或重建,就可以作为一用不用作任何代码修改或重建,就可以作为一个单独的单元部署到任何个单独的单
21、元部署到任何J2EE品牌的服务器里品牌的服务器里面。面。 5.显示层技术显示层技术WebWeb层层26HServlet存在的问题存在的问题F Servlets Servlets 写起来比较冗长:写起来比较冗长:很多产生很多产生HTML的的servlets比起比起Web页面要长一些,它带有以页面要长一些,它带有以System.out.println()环绕的每一行、在每一环绕的每一行、在每一个双引号之前都有反斜线符号、并且可能一块个双引号之前都有反斜线符号、并且可能一块逻辑或这里和那里的重述。这样的逻辑或这里和那里的重述。这样的servlets写写起来比较烦闷,而且读和维护都是比较困难的。起来比
22、较烦闷,而且读和维护都是比较困难的。5.显示层技术显示层技术WebWeb层层27F Servlets Servlets 是程序:是程序:对于所有的哪怕是最简单对于所有的哪怕是最简单的情况,的情况,servlets都需要编程人员来开发和都需要编程人员来开发和维护。程序员不必熟悉图形设计,图形设计维护。程序员不必熟悉图形设计,图形设计人员经常不是程序员。联合编程逻辑和先进人员经常不是程序员。联合编程逻辑和先进的可视化设计的的可视化设计的servlets对于程序员和图形对于程序员和图形设计人员来讲,更改起来都是比较困难的。设计人员来讲,更改起来都是比较困难的。5.显示层技术显示层技术WebWeb层层
23、28F Servlet Servlet 代码不易重用:基于代码不易重用:基于HTMLHTML的的WebWeb应应用通常包括大量的重复,很多使用的场合多用通常包括大量的重复,很多使用的场合多次放在一个次放在一个WebWeb应用中,应用中,HTMLHTML页面经常包含页面经常包含重复的样式元素来提供一致的外观和感觉。重复的样式元素来提供一致的外观和感觉。但是但是servletservlet的的APIAPI提供很少对于重用业务或提供很少对于重用业务或显示逻辑的直接支持,结果通常是剪切与粘显示逻辑的直接支持,结果通常是剪切与粘贴式的编码风格牺牲了一致性与可维护性。贴式的编码风格牺牲了一致性与可维护性。
24、5.显示层技术显示层技术WebWeb层层29F ServletsServlets 混合功能代码和显示代码在一起:混合功能代码和显示代码在一起:这种做法限制看起来很小,实际上它往往是这种做法限制看起来很小,实际上它往往是所有其它问题的根源。基本的问题是业务逻所有其它问题的根源。基本的问题是业务逻辑和数据表示基本上是不同的层面,将这两辑和数据表示基本上是不同的层面,将这两者混合在一种单一的技术(既者混合在一种单一的技术(既servletservlet)导)导致的是混淆设计、实现和维护。致的是混淆设计、实现和维护。5.显示层技术显示层技术WebWeb层层30HServlet的建议的建议F 使用使用s
25、ervlets servlets 实现服务:除了产生二进制内实现服务:除了产生二进制内容以外,容以外,servletsservlets一般提供无可视化的功能。一般提供无可视化的功能。一个一个servletservlet可以执行它所提供的服务可以执行它所提供的服务模板模板化、安全、个性化、化、安全、个性化、MVCMVC控制控制然后选择一个然后选择一个显示组件并转交请求给该组件去显示。显示组件并转交请求给该组件去显示。5.显示层技术显示层技术WebWeb层层F 使用使用servletsservlets作为控制器:一个作为控制器:一个WebWeb层控制器,层控制器,用来决定如何处理一个请求并选择下一
展开阅读全文