Web层Web层设计中的问题与Web应用程序部署客户端课件.ppt
《Web层Web层设计中的问题与Web应用程序部署客户端课件.ppt》由会员分享,可在线阅读,更多相关《Web层Web层设计中的问题与Web应用程序部署客户端课件.ppt(80页珍藏版)》请在三一办公上搜索。
1、1,Web层Web层设计中的问题与指南Web应用程序部署客户端,5.显示层技术,2,5.1 Web层,Web层的工作就是接收来自于HTTP客户端的输入,将收到的输入交给内部的业务逻辑进行处理,然后将结果通过HTTP协议送回客户端。,5.显示层技术Web层,在基于Interent的分布式应用框架中,显示层一般由Web层和客户端两部分组成。,3,JSP文件:从HTTP的请求中提取参数,调用相应的业务逻辑,处理HTTP会话,最后生成HTTP文档。总的看来,这个模型的好处是简单,但是它把业务逻辑和表现混在一块,对大应用来说,这个缺点是令人容忍不了的。,两种模型,5.显示层技术Web层,4,MVC模式(
2、Model/View/Controller),5.显示层技术Web层,定义:MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。,视图:用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,还包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices。,5,模型:表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,即模型与数据格式无关。,5.显示层技术Web层,控制器:接受用户的输入,根据请求决定调用模型构件去处理请求,然后确
3、定用哪个视图来显示模型处理返回的数据。,6,7,为什么要使用 MVC,5.显示层技术Web层,多个视图能共享一个模型。由于MVC已经将数据和业务规则从表示层分开,无论用户想要Flash界面或是WAP界面,用一个模型就能处理它们,可以最大化的重用代码。,模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。,8,5.显示层技术Web层,由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松偶合的构件。,可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。,9,MVC的缺点 使用MVC需
4、要精心的计划,花费相当可观的时间去考虑如何将MVC运用到应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。所以使用MVC同时也意味着要管理比以前更多的文件,增加了工作量。,5.显示层技术Web层,10,5.显示层技术Web层,MVC设计模式是一个很好创建软件的途径,但是如果要隔离模型、视图和控制器的构件,则要重新思考应用程序,尤其是应用程序的构架。MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。,11,交付应用的功能到Web之上:应用设计通常将业务逻辑从数据显示中分离出来。Web层为后端应用模型中的业务逻
5、辑(可以被其它类型的客户端共享访问),接收HTTP输入并产生HTTP输出。,Web层的功能,5.显示层技术Web层,12,动态内容创建:Web层组件为产生动态Web内容来设计的。Servlets和JSP页面可以基于用户的输入与上下文将来自于多种源的数据格式转化为任意的数据格式。,屏幕流程:由于屏幕流程往往对应到特定的客户端的动作,因此决定下一屏幕(也即哪个页面)应该显示什么的逻辑一般驻留在Web层。,5.显示层技术Web层,13,数据表示和输入收集:Web层和Web客户端进行通讯以使得格式化代码的Web文档自然就属于Web层。其次,用户的输入以HTTP的PUT和GET动作到达Web层,Web层
6、收到这些动作即将其翻译为某种形式(经常是某种形式的命令对象)以便其余的应用可以理解。,5.显示层技术Web层,14,状态管理:Web层有一个简单的、灵活的机制用来在一个用户的会话期间积聚相应的事务型数据和上下文数据。,协议转换:EJB 服务器、数据库、EIS层资源管理器和其它的网络资源都有它们自己的协议。Web层作为一个软件层,把来自于其它协议的请求和应答翻译为HTTP形式,或者,把HTTP请求和应答翻译成其它协议的形式。,5.显示层技术Web层,15,对多种潜在的客户端类型的支持:Web使用HTTP协议来传送数据给客户端,数据通过MIME类型(一种扩展的内容分类机制)来描述。任何HTTP形式
7、的客户端都能够加入一个Web应用,且此客户端能够使用可以下载内容的任意类型,即使内容的类型还未存在。,5.显示层技术Web层,16,J2EE的Web层技术提供了服务器的扩展机制,该机制提供了一种基于服务器端脚本设计所带来的好处,并且采用的是一种标准的、安全的、厂商中立的方法。Web应用及支持它的Web层技术包括Web 档案(archive)、Web层组件模型、servlets,JSP 及J2EE的Web 容器。,Web层技术,5.显示层技术Web层,17,Web档案:对一个Web应用的打包和部署之单元称之为一个Web档案(Web archive,以“.war”作为文件名的结尾),此文件包含当前
8、Web应用的所有类文件与资源,Web档案也包含一个配置该应用的部署描述器文件。,5.显示层技术Web层,18,Web容器:一个容器是位于服务器里面的类之集合,它们相互合作以管理组件实例的生命周期并对那些实例提供数据和服务。J2EE规范定义了一个在Web容器与每一Web组件之间的约定契约,用以定义组件的生命周期、组件必须实现的行为、以及服务器必须提供给该组件的服务。,5.显示层技术Web层,19,Web容器的作用:,分发服务请求:容器分发服务请求给它所包含的组件,将上下文数据(如会话数据与当前请求的信息)提供给组件,并且协调该组件响应内容的产生。,HTTP请求的应答:对于URL的HTTP请求翻译
9、成对组件实例的调用,并将基于组件所产生的内容生成相应的HTTP应答。,5.显示层技术Web层,20,组件生命周期的管理:Web容器通过回叫(callback)的方式来通知组件的状态变化如实例初始化和消亡,实现对其组件的生命周期管理。,5.显示层技术Web层,21,Servlet是一种Java平台服务器端扩展组件,它运行在一个Web容器的里面。在一个Web应用中,每一Servlet的类都被映射成Web服务器中的一个或多个URL地址。当服务器接收到对某个servlet的URL的一个HTTP请求(GET,POST等)的时候,服务器调用相应的servlet的服务方法(service()),该方法产生此
10、应答的动态内容。,Servlet,5.显示层技术Web层,22,Servlets特点,Servlets采用Java来书写,因此能够运行在一个内嵌在Web Server里面的JVM实例之上。,Servlets通常比CGI程序或脚本要快,因为它们运行的形式是编译过的字节码,取代的是一个笨重的进程或一个解释脚本。,5.显示层技术Web层,23,Servlets比扩展库要安全,因为JVM实例通常可以恢复一个非正常退出的servlet。,与服务器端脚本技术相比,servlets的移植性更好,并且它所提供的是一个更为丰富的标准服务的集合。,5.显示层技术Web层,24,由于Java平台所固有的运行时的可移
11、植性,编译过的servlet类具备二进制形式的跨硬件平台的移植性;servlet与其容器之间的契约由Java Servlet规范予以定义并且由J2EE兼容测试包检验过(在一个J2EE品牌的产品里),因此servlets也可以跨Web服务器兼容。,5.显示层技术Web层,25,Servlet开发人员可以创建能在所有J2EE品牌服务器上正确运行的产品,J2EE服务器用户可以更换技术厂商而只做很小的甚至根本就不需要更改它们的应用代码。,打包和部署servlets(及其它的Web层组件和资源)的规范化和标准化,确保了一个Web应用不用作任何代码修改或重建,就可以作为一个单独的单元部署到任何J2EE品牌
12、的服务器里面。,5.显示层技术Web层,26,Servlet存在的问题,Servlets 写起来比较冗长:很多产生HTML的servlets比起Web页面要长一些,它带有以System.out.println()环绕的每一行、在每一个双引号之前都有反斜线符号、并且可能一块逻辑或这里和那里的重述。这样的servlets写起来比较烦闷,而且读和维护都是比较困难的。,5.显示层技术Web层,27,Servlets 是程序:对于所有的哪怕是最简单的情况,servlets都需要编程人员来开发和维护。程序员不必熟悉图形设计,图形设计人员经常不是程序员。联合编程逻辑和先进的可视化设计的servlets对于程
13、序员和图形设计人员来讲,更改起来都是比较困难的。,5.显示层技术Web层,28,Servlet 代码不易重用:基于HTML的Web应用通常包括大量的重复,很多使用的场合多次放在一个Web应用中,HTML页面经常包含重复的样式元素来提供一致的外观和感觉。但是servlet的API提供很少对于重用业务或显示逻辑的直接支持,结果通常是剪切与粘贴式的编码风格牺牲了一致性与可维护性。,5.显示层技术Web层,29,Servlets 混合功能代码和显示代码在一起:这种做法限制看起来很小,实际上它往往是所有其它问题的根源。基本的问题是业务逻辑和数据表示基本上是不同的层面,将这两者混合在一种单一的技术(既se
14、rvlet)导致的是混淆设计、实现和维护。,5.显示层技术Web层,30,Servlet的建议,使用servlets 实现服务:除了产生二进制内容以外,servlets一般提供无可视化的功能。一个servlet可以执行它所提供的服务模板化、安全、个性化、MVC控制然后选择一个显示组件并转交请求给该组件去显示。,5.显示层技术Web层,使用servlets作为控制器:一个Web层控制器,用来决定如何处理一个请求并选择下一个要显示的视图。,31,JSP,一个JSP页面是一个模板文档,其中包含有特殊的标记用来执行内嵌的逻辑。JSP页面可以被用来指定任何类型的动态内容,但是它们主要用来创建结构化的内容
15、(如HTML,XML,XHTML,PDF)。,5.显示层技术Web层,32,JSP特点,JSP页面比servlets更容易书写:JSP页面看起来非常象HTML,带有少量的附加标记,没有重复的println()语句或者也不需要反斜线回退字符.,5.显示层技术Web层,33,JSP页面不需要编程技能:JSP页面看起来很象它生成的文档类型,文档格式的专家可以不是一个程序员即可以直接编辑之。任何实际的编程或多或少地从显示代码中分离出来,因此程序员和文档格式专家可以相对独立地进行工作.,5.显示层技术Web层,34,JSP 页面支持代码的重用:JSP页面有显式代码重用机制。在一JSP页面里面有一些特殊的
16、标记来使用JavaBeans组件,编程人员可为其特殊的用途来定义可定制标记。JSP标记语言中的包括指示提供两种文档内容的重用:编译时和运行时。这些机制可以通过减少重复代码进而提高代码的质量.,5.显示层技术Web层,35,JSP 页面将功能从显示中分离开来:JSP页面格式是一针对某一文档的模板,其中带有业务逻辑,该逻辑要么嵌在JSP页面中的特殊标记里(作为脚本元素),要么采用beans或可定制标记。分离功能(业务逻辑)与形式(显示)允许程序员和文档作者集中于他们的核心技能之上。这种对开发角色的划分是J2EE平台的主要优势之一。,5.显示技术Web层,36,JSP工作流程 一个JSP页面对其作者
17、来说象一个文档,然而Web容器实际上把JSP页面作为servlets来实现。在一个JSP页面可以运行在一JVM实例之上时,它必须被转换成(通过一个转换器)一个servlet,该servlet然后被编译成一个可以装载的类。一个JSP通常直接部署到一个Web容器之中,由容器来处理相应的翻译和编译。,5.显示层技术Web层,37,38,JSP的建议,使用JSP页面作为结构文本内容的模板:JSP页面大多数是用来生成文本的内容通常有一致结构的文本。JSP页面也被用来产生非结构化的文本文件。JSP页面通常并不适合于以下的几种情形:创建二进制内容、激活应用域逻辑、创建带有高度可变结构的内容、或控制请求路由等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 设计 中的 问题 应用程序 部署 客户端 课件
链接地址:https://www.31ppt.com/p-3865570.html