已阅读5页,还剩55页未读, 继续免费阅读
(检测技术与自动化装置专业论文)ajax技术在bs模式工业监控系统中的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 实时性和可靠性是现代工业生产对工业监控系统的基本要求。工业监控系统 目前采用的软件体系结构主要有c s ( c 1 i e n t s e r v e r ,客户一服务器模式) 和 b s ( b r o w s e r s e r v e r ,浏览器一服务器) 模式两种,在传统的b s 模式下,浏览器 客户端与服务器数据交互采用的是基于h t t p 协议的同步数据请求一响应机制,这 使系统的运行效率和实时性都受到了很大的限制。 针对这一问题,本文设计了一种基于a j a x 技术的b s 模式工业监控系统,利 用a j a x 技术实现了浏览器客户端与服务器之间的异步数据通讯机制,在n e t 平台 下开发了系统,讨论了系统的实时性、安全性和可移植性,并设计了相应的解决 方案。通过系统在啤酒发酵过程和胶乳生产过程中的应用,可以得出基于a j a x 技术的a s 模式工业监控系统具有实时性高,通用性强的优点。 本文的主要工作和创新点如下; ( 1 ) 设计了“基于a j a x 技术的b s 模式工业监控系统”方案。基于a j a x 技术的 b s 模式工业监控系统在客户端与服务器的交互过程中采用t a j a x 技术,利用 a j a x 的“按需取数据”的模式使服务器只返回客户端需要更新的数据,减少了 通讯数据流量,节省了网络带宽,提高了系统的实时性;利用a j a x 的异步通讯机 制解除了浏览器客户端在向服务器提交请求后的锁定状态,从而提高了系统的运 行效率。 ( 2 ) 在n e t 平台下开发了基于a j a x 技术的b s 模式工业监控系统。在系统开发 过程中,利用动态链接库技术开发上位机和下位机p l c 的连接和数据通讯模块, 利用a c t i v e x 技术开发上位机的监控界面模块和各种数据报表。动态链接库技术 和a c t i v e x 技术使用进一步增强了系统的通用性。将系统应用到啤酒发酵过程和 胶乳生产过程,通过比较基于a j a x 技术的b s 模式啤酒发酵控制系统和原有的c s 模式的啤酒发酵控制系统,基于a j a x 技术的b s 模式监控系统具有不受地域范围 限制的优势,并且其实时性也能满足啤酒发酵控制系统的要求。 ( 3 ) 对系统的实时性、安全性和可移植性进行了分析和讨论。在实时性方面, 分别从软件、硬件上提出了相应有改进措施:在安全性方面,分别对b s 模式和 a j a x 应用所带来的安全问题设计了相应的方案;在系统可移植性方面,分别从 a c t i v e x 技术和动态链接库两方面做了相应的分析。 关键词:a j a x 技术;工业监控系统;b s 模式;实时性;) 凸轧;啤酒发酵 浙江大学硕士学位论文 a b s t r a c t r e a l - t i m ea n dr e l i a b i l i t ya r eb a s i cr e q u i r e m e n t so fm o d e mi n d u s t r i a lp r o d u c t i o n f o ri n d u s t r i a lc o n t r o ls y s t e m t h es t r u c t u r eo fi n d u s t r i a lm o n i t o rs y s t e mm a i n l y i n c l u d e sc l i e n t s e r v e ra n db r o w s e r s e r v e ra tp r e s e n t i nt h et r a d i t i o n a ls t r u c 灯u eo f b r o w s e r s e r v e r , t h ed a t ai n t e r a c tb e t w e e nt h ec l i e n ta n dt h es e r v e ri sb a s e do nt h e h t i pm o d e lp r o t o c a lr e q u e s t - r e s p o n s em e c h a n i s m ,u s i n gs y n c h r o n o u sd a t ar e q u e s t s , s ot h a tt h eo p e r a t i n ge f f i c i e n c ya n dr e a l - t i m eo fb r o w s e r s e r v e rm o n i t o r i n gs y s t e m l i m i t e dg r e a t l y o nt h i si s s u e ,t h i sp a p e ri sd e s i g n e dab sm o d e li n d u s t r i a lc o n t r o ls y s t e m sb a s e d o n 局a xt e c h n o l o g y a j a xt e c h n o l o g yi s u s e dt oa c h i e v ea s y n c h r o n o u sd a t a c o m m u n i c a t i o nm e c h a n i s m sb e t w e e nt h eb r o w s e rc l i e n ta n ds e r v e r , d e v e l o pt h e s y s t e mi n n e tp l a t f o r m ,t h ea t t r i b u t eo fr e a l - t i m e ,s e c u r i t ya n dp o r t a b i l i t yi s a n a l y s i e d a n d d e s i g n t h e c o r r e s p o n d i n g s o l u t i o n s a p p l i c a t i o n i nt h eb e e r f e r m e n t a t i o np r o s sa n dl a t e xp r o d u c t i o np r o c e s s ,w ec a nk n o wt h a tt h em o d e lo f b ,si n d u s t r i a l m o n i t o r i n g c o n t r o ls y s t e m sb a s e do na j a xt e c h n o l o gw i t ht h e a d v a n t a g e so f h i g h l yr e a l - t i m ea n ds t r o n gt r a n s p l a n t a b i l i t y t h em a i nw o r ka n di n n o v a t i o np o i n t si nt h i sp a p e ra r ef o l l o w s : ( 1 ) t h es t r u c t u r eo fb si n d u s t r i a lm o n i t o r i n g c o n t r o ls y s t e m sb a s e do na j a x t e c h n o l o g yi sd e s i g n e d t h e ”o n - d e m a n da e p :e s st od a t a m o d eo fa j a xi su s e di n s y s t e mt o m a k et h es e r v e rr a t r u nd a t ac l i e n tn e e d e d , r e d u c et h ef l o wo fd a t a c o m m u n i c a t i o n sa n ds a v en e t w o r kb a n d 、i d t hw h i e ki m p r o v et h er e a l - t i m eo fs y s t c 矬n ; a j a xa s y n c h r o n o u sc o m m u n i c a t i o n sm e c h a n i s mc l i m a t et h el o c ks t a t eo ft h ec l i e n t w h i c hi sd u et os e n dr e q u e s tt h eb r o w s e r , t h e r e b ye n h a n c i n gt h es y s t e m so p e r a t i o n a l e f f i e i e n c y ( 2 ) t h es i 苫u c n 鹏o fb si n d u s t r i a lm o n i t o r i n gc o n t r o ls y s t e m sb a s e do na j a x t e c h n o l o g yi sd e v e l o p e di n n e tp l a t f o r m i nd e v e l o p m e n tp r o c e s so ft h es y s t e m , v y n a n i ol i n kl i b r a r yd e v e l o p m e n ti su s e di nc o n n e c t i v i t ya n dd a t ac o m m i l i l i c a t i o n s m o d u l eo fi p ca n dp l c , a c t i v e xt e c h n o l o g yi su s e di ni p cm o n i t o r i n gc o n t r o l n 浙江大学硕士学位论文 i n t e r f h c e t h eu s e do fd l la n da c t i v e xt e c h n o l o g yf u r t h e re n h a n c et h es y s t e m s t r a n s p l a n t a b i l i t y a p p l i c a t i o n i nb e e rf e r m e n t a t i o np r o c e s sa n dl a t e x p r o d u c t i o n p r o c e s s ,b yc o m p a r i s o nt h es n l l c n l r eo fb sb e e rf e r m e n t a t i o nm o n i t o r i n gc o n t r o l s y s t e mb a s e do na j a xt e c h n o l o g ya n dt h eo r i g i n a ls t r u c t u r eo fc sb e e rf e r m e n t a t i o n m o n i t o r i n gc o n t r o ls y s t e m , t h es t r u c t u r eo fb sb e e rf e r m e n t a t i o nm o n i t o r i n gc o n t r o l s y s t e mb a s e do na j a xt e c h n o l o g yh a sl i m i t l e s so fa r e as c a p e , m a dr e a l - t i m ec 趴a l s o m e e tb e e rf e r m e n t a t i o nc o n t r o ls y s t e mr e q u i r e m e n t s ( 3 ) t h er e a l - t i m e ,s e c u r i t ya n dp o r t a b i l i t yo fs y s t e mi sa n a l y s i c da n dd i s c u s s e d i n a s p e c to fr e a lt i m e ,t h ec o r r e s p o n d i n gi m p r o v e m e n tm e a s u r e si sp r e s e n t e df r o m s o r w a r ea n dh a r d w a r e ;i na s p e c to fs e c u r i t y , b sw e r er i g h tm o d e la n da j a x a p p l i c a t i o no ft h es a f e t yd e s i g nt h ec o r r e s p o n d i n gm e a s u r e ;p o r t a b i l i t yi sa n a l y s i e d f t o mt h et e c h n o l o g yo f a c t i v e xa n dd l l k e yw o r d s :a j a xt e c h n o l o g y ;i n d u s t r i a lm o n i t o r i n gc o n t r o ls y s t e m ;b ss t r u c t u r e ; r e a l - t i m e ;x m l ;b e e rf e r m e n t a t i o n i l l 浙江大学硕士学位论文 第1 章绪论 1 1 工业监控系统概述 工业监控系统是以监测控制计算机为主体,加上检测装置、执行机构与被监 测控制的对象( 生产过程) 共同构成的整体。在该系统中,计算机实现了生产过程 的检测、监督和控制功能。 1 1 1 客户端j 眼务器( c l i e n t s e r v e r ) 模式的工业监控系统 客户端服务器模式的应用服务程序从结构上讲分为四层【1 】:数据捕获( d a t a c a p t u r e ) 、业务规贝l j ( b u s i n e s sr u l e s ) 、应用接e l ( a p p l i c a t i o ni n m f f a e e ) 、应用服务 器( a p p l i c a t i o ns e r v 哪。客户端j l l i l 务器模式中,系统任务分别由客户端和服务器 来完成。这种模式的系统结构中,一般至少有一个数据采集站作为服务器,一个 监控站作为客户机完成与用户的交互任务,数据采集站一方面与现场设备通讯, 获得现场设备提供的数据,并作为数据服务器,给客户机提供数据。客户端通常 是预先给定的或例行的应用程序,以易用、易懂的图形方式给出数据和操作,所 有的形式逻辑和业务逻辑都在客户端完成。通过连网至后台服务器的应用程序, 由服务器来完成对数据的存检索和保护。客户机上的应用程序则负责从采集站查 询数据,通过可视化界面显示给用户,并把当前数据与系统预先设定的标准相比 较,看是否越出报警限,发出报警信息。提示运行人员的注意,以采取及时有力 的措施,避免事故的发生,当系统具有数据库服务器时,按一定的时间间隔将数 据送入数据库服务器,以备日后查询、分析、决策。客户端服务器模式具有强 壮的数据操纵和事务处理能力,以及数据的安全性和完整性约束。它的工作流程 见图1 1 所示。由于系统任务是分别由客户端和服务器来完成,客户端提供给用 户丰富的图形界面,这样就减少了服务器的压力。如果客户端需要服务器的某些 特定的记录,那么服务器收到客户端的请求后先检索出这些记录,然后把这些记 录传给客户端,这就大大降低了资源的浪费,同时也使网络的流量大的降低。 浙江大学硕士学位论文 l 输入数据ii 数据请求l l 业务处理开始l 一数据存取请求 一 l 输出数据 l 业务处理请求l 客户端 【 毅瑁曼耕埔累 - 业务处理开始i 数据库 i 数据存取请求i i 一4 覃新结罢 业务处理请求卜一 f 控制站i服务器 图1 1c s 结构一般处理流程 客户端服务器系统的主要优点是系统的客户端应用程序和服务器部件分别 运行在不同的计算机上,这对于硬件和软件的变化显示出极大的适应性和灵活 性,而且易于对系统进行扩大和缩小。在客户端朋民务器模式中,系统中的功能 部件充分隔离,客户端应用程序的开发集中在数据的显示和分析,而服务器的开 发则集中数据库的管理,不必在每一个新的应用开发中都要对一个数据库进行编 程。将大的应用处理任务分布到许多通用网络连接的低成本计算机上将大大减少 系统的费用。 1 1 2 浏览器,服务器( b r o w s e r s e r v e r ) 模式的工业监控系统 随着w e b 技术的不断发展及监控现场地域分布的越来越分散,b s 模式的工业 监控系统应运而生了。b s 模式就是传统的c s 模式的中间加上一层,把原来客户 机所负责的功能交给中间层来实现,这个中间层即为w e b 服务器层。这样,客户 端就不负责原来的数据存取,我们只须在客户端安装浏览器就可以了。把原来的 服务器作为数据库服务器,在数据库服务器上安装数据库管理系统和创建数据 库。w e b 服务器的作用就是对数据库进行访问,并通过i n t e m e t i n t r a n e t 网传递给 浏览器。这样,w e b 服务器既是浏览器的服务器,又是数据库服务器的浏览器。 在这种模式下,客户机就变为一个简单的浏览器,形成了“肥服务器瘦客户机” 的模式。如果要对系统进行扩充,只需在中间层上增加服务就行了。这样我们可 2 浙江大学硕士学位论文 以用较少的资源就可以建立起伸缩性很强的系统。它的工作流程如图1 2 所示。 图1 2b s 结构一般处理流程 更新请求 b s 结构将应用功能分成表示层、功能层、数据层三部分。其解决方案是: 对这三层进行明确的分工,并在逻辑上进行独立。原来的数据层作为d b m s 已 经独立出来 2 1 ,关键是要将表示层和功能层分离成各自独立的程序,并且还要使 这两层的接口简洁明了。一般情况下是将表示层配置在客户端,将功能层放在中 间服务器,即w e b 服务器上,数据层放在数据库服务器上。由于这种形式中三 层分别放在不同的硬件系统上,所以灵活性很高,能够适应客户端数目的增加和 负荷的变动。例如,在追加新业务处理时,可以相应的增加功能层的服务器。系 统规模越大这种形态的优点就越明显。 b s 结构表示层是应用程序的用户接口部分,它担负着用户与应用层间的对 话功能。它用于检查用户从键盘等输入的数据,显示应用数据。为使用户能直观 的进行操作,一般要使用图形用户接口( g u i ) ,它具有操作简单、易学易用的 特点。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其它两 层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻 辑。 功能层相当于应用的本体,它将具体的业务处理逻辑编爪程序中,是联系表 示层和数据层的桥梁。功能层响应用户发来的数据和请求,执行某种业务,业务 是由应用程序的需求定义的一组操作( 通常是一些数据库操作) ,并将结果返回 表示层。 数据层就是d b m s ( d a t a b a s em a n a g e m e n ts y s t e m ) ,它负责数据库的管理、 操作、读取、存储等 3 浙江大学硕士学位论文 以下是b s 模式与c s 模式的比较: ( 1 ) b s 模式的优点: 1 ) 由于w e b 支持底层的t c p i p 协议,使w e b 网与目前使用的几乎所有局 域网都可以做到无缝的连接,从而解决了异构系统间的连接问题; 2 ) 由于w e b 采用了“瘦客户端”,使系统的开放性得到很大改善,系统对将 要访问系统的用户数的限制有所放松; 3 ) 界面统一( 全部为浏览器方式) ,操作相对简单。 ( 2 ) c s 模式的优点p 4 1 : 1 ) c s 模式有很强的实时处理能力,与w e b 方式相比,c s 模式更适合于对 数据库的实时处理和大批量的数据更新; 2 ) c s 模式的开发技术十分完善,并且有众多与之配套的开发工具; 3 ) 由于c s 模式必须安装客户端软件,系统相对封闭,这反而使它的安全 性优于w 曲方式。 1 2 本课题的研究背景 我国是一个啤酒生产大国,2 0 0 5 年我国啤酒总产量为2 4 0 0 多万吨,居世界第 一位。近年来,一些有实力的大企业在提高自身生产能力的同时,开始在全国范 围内兼并、收购,推动行业整合,因此啤酒企业数量不断减少,行业集中度越来 越高,规模越来越大,地域分布也越来越广泛。传统的c s 模式啤酒生产过程计 算机控制系统的地域范围上的局限性逐渐的暴露出来,而a s 模式的计算机控制 系统则不存在地域范围上的限制。 但是传统的b s 模式的工业监控系统信息交互采用同步方式:用户在提交请 求后,被迫中断当前工作,等待页面的刷新、交换和重载。完整页面的传输会加 重网络载荷和服务器工作量;与此同时,用户在等待服务器响应的过程中面l i 盎较 长时间的空白页,响应实时性降低。因此,b s 模式的工业监控系统不能很好的 满足啤酒生产过程的实时性要求。 4 浙江大学硕士学位论文 1 3 论文主要研究工作和内容安排 1 3 i 论文主要研究工作 针对以上问题,本文提出了“基于a j a x 技术的b s 模式工业监控系统”的 改进方案,论文主要研究工作包括两大部分:一是详细介绍了a j a x 的概念、特 点及其原理,重点分析了a j a x 的异步通讯机制及其应用;二是设计并开发了基 于a j a x 技术的b s 模式工业监控系统,对系统的实时性、安全性和可移植性进 行了详细的分析并给出了相应的解决方案。 1 3 2 论文内容安排 论文的内容安排如下: ( 1 ) 简单介绍了工业监控系统的发展现状及目前的工业监控系统存在的主要 问题,并提出了“基于a j a x 技术的b s 模式工业监控系统”的方案。 ( 2 ) 介绍了a j a x 技术的定义及其组件,详细说明了a j a x 的异步通讯机制及数 据交互模式。 ( 3 ) 在分析传统b s 模式的工业监控系统的结构的基础上,给出了基于a j 瓢 技术的工业监控系统的总体设计,并详细介绍了a j a ) 【技术在b s 模式的工业监 控系统的w e b 服务器,数据库服务器及客户端软件的设计。 ( 4 ) 阐述了基于a j a x 技术的b s 模式工业监控系统的开发过程,并通过举例 说明其在实际工程项目中的应用。 ( 5 ) 分析了基于a j a x 技术的工业监控系统的关键性问题,主要包括系统实时 性、系统安全性和系统可移植性。 浙江大学硕士学位论文 第2 章a j a x 技术概述 摘要:本章首先介绍a j a x 的基本概念及其包含的组件内容,并将其与传统的w e b 技术进行比较;阐述- j a j a x 体系结构和工作原理,结合实例介绍了a j a x 技术在w e b 程序开发中的应用;最后对a j a x 的优点和局限性进行了分析。 2 1a j a x 的基本概念 a j a x 全称为 a s y n c h r o n o u sj a v a s o i p ta n dx m l 【5 l ”( 异步j a v a s c r i p t 和x m l ) ,是 指一种创建交互式网页应用的网页开发技术,p h a d p t i v ep a t h 的咨询顾n j e s s e j a m e sg a r r e t t 首先提出。 a j a ) 【的核心是j a v a s c 邱t 对象) a u t i p r 明u e s t 【6 】。该对象在i n t e m e te x p l o r e r5 中首次引入,它是一种支持异步请求的技术。简而言之,x m l h t t p r e q u e s t 可以 使用j a v a s c d p t 扃1 服务器提出请求并处理响应,而不阻塞用户。 传统的w e b 应用允许用户填写表单( f o r m ) ,当提交表单时就向w e b 服务器发 送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法 浪费了许多带宽,因为在前后两个页面中的大部分h t m l 代码往往是相同的。由 于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的 响应时间。这导致了用户界面的响应比本地应用慢得多。 与此不同,a j 觚应用可以仅向服务器发送并取回必需的数据【7 】【8 】,它使用 s o a p 或其它一些基于x , m l 的w e bs e r v i c e 接口,并在客户端采用j a v a s c f i p t 处理来 自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就 能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完 成,所以w e b 服务器的处理时间也减少了。 a j a x f h j a v a s c r i p t 、c s s 、d o m 、x m l h t t p r e q u e s t 等多项w e b 技术按照规范 进行组合,并在基于b s 的w e b 应用中整合信息交互的设计模式。其核心要素包 括【1 0 l 1 1 l 【1 2 】: ( 1 ) j a v a s c r i p tj a v a s c r i p t 是一种在浏览器端大量使用的编程语言【9 】,它可以 使用浏览器中的很多对象。包括m h t l p r 鹎s t 。在a j “中,j a v a s c r i p t 通过调 6 浙江大学硕士学位论文 用x m l h t t p r e q u e s t 对象的属性和方法与服务器端进行数据交互,同时还可以利 用d o m 的a p i 来解析从服务器端返回的x m l 数据和更新h t m l 页面的内容。 ( 2 ) c s s ( c a s c a d i n gs t y l es h e e t s ) 是一种为w e b 页面元素提供可重用样式定义 的语言。在a j a 】【模式中,可通过c s s 定义和修改用户界面的外观风格; ( 3 ) d o m ( d o c u m e n to b j e c tm o d e l ) d o m ( d o c u m e n to b j e c tm o d e l ) 是面向 h t m l 和x m l 文档的a p i ,它为文档提供了结构化表示,并定义了如何通过脚本 来访问文档结构。在应用q a x 技术时,可以通过d o m 来解析处理儿文档和更 新h n 他页面的内容。 ( 4 ) x m l h t t p r e q u e s t 对象为客户端程序提供了在后台与服务器交换数据的 能力,是异步交互式w e b 应用开发的关键。 x m l h t t p r c q t m s t 、j a v a s c d p t 、c s s 、d o m 四部分有机结合组成了a j a x 应用 工作流和业务逻辑,通过使用j a v a s c r i p t 操作d o m 来改变和刷新用户界面,不断 地重绘和重新组织显示给用户的数据,并且处理用户基于鼠标和键盘的交互; c s s 为应用提供了一致的外观,并且为以编程方式操作d o m 提供了强大的捷径; x m l h t t p r e q u e s t x r j 象( 或类似机制) 则用来与服务器进行异步通信,在用户工作时 提交用户的请求并获取最新的数据。 x m l h t t p r e q u e s t 是a j a x 的核心内容。x m l h t t p r e q u e s t 提供了一系列属性和方 法来向服务器发送异步的h t t p 请求。在服务器处理请求的过中,x m l h t t p r e q u e s t 监听服务器的状态,并根据这些状态指示j a v a s c r i p t 做相应的处理。当服务器顺 利完成响应用户行为的动作、并将响应数据返回时,x m l h t t p r e q u e s t 对象能够回 调响应的处理函数;x m l h t t p r e q u e s t 提供的r e s p o n s e 系列方法,可以将这些响应 数据以文本、x m ld o c u m e n t 对象、u n s i g n e db y t e 数组的方式组装起来,由 j a v a s e r i p t 操纵d 伽更新w e b 页面内容。 在使用x m l h t t p r e q u e s t 对象发送请求和处理响应前,必须先使用j a v a s c r i p t 创建一个x m l h t t p r e q u e s t x r j 象。代码清单1 给出了编写跨浏览器的j a v a s c r i p t 代码 来创建x m l h t t p r e q u e s t 对象的示例。 代码清单l ;创建x m l h t t p r e q t m s t 对象。 v a tx m l h t t p ; f u n c t i o nc r e a t e x m l h t t p r e q u e s t 0 i f ( w i n d o w a c t i v e xo b j e c t ) 判断浏览器是否为i e 测览器 x m l h 懒e w a c t i v e xo b j e c t ( ”m i c r o s o f t x m l h t t p ”) ; 7 ) e l s ei f ( w i n d o w x m l h t t p r e q u e s t ) m o z i l l a , s a f a r i 浏览器 x m l h t t p = n e wx m l h t t p r e q u e s t o ; ) 不同于标准的w e b 程序中所用的请求响应方法,a j a ) 应用x m l h t t p r e q u e s t 对象的过程如下: ( 1 ) 一个客户端事件触发一个a j a x 事件,例如当用户点击按钮时,就会触发 o n e l i c k 事件,其代码如下: ( 2 ) 创建x m l h t t p r e q u e s t 对象,使用o p e n 方法建立调用,并设置u r l 以及所希 望的h t l 甲方法( 通常是g e t 或p o s t ) ,请求通过一个s e n d 方法调用触发。代码如 下所示,有关的方法见表2 1 。 f u n c t i o nv a l i d a t e e m a i l o v a te m a i l - - d o e u m e n t g e t e l e m e n t b y l d ( “e m a i l “) ; v a ru r l - ”v a l i d a t e ? e m a i l = ”+ e s c a p e ( e m a i l v a l u e ) ; c r e a t e x m l h t t p r e q u e s t o ;见代码清单1 x m l h t t p o p e n ( ”g e t , u r l ) ; x m l h t t p o n r e a d y s t a t e e h a n g e = e a l l b a e k ; x r i l l h t t p s e n d ( n u l l ) ; 方法描述 a b o g o停止当前请求 g e t a l l r e q u e s t h e a d e r o作为字符串返回完整的h c a d e r s 标签 g e t r e q u e s t h e a d e r ( h e a d e r l a b e l 作为字符串返回单个的h e a d e r s 标签 o p e n ( m e t h o d , u r l ”【,a s y n e f l a g 设置请求的目标u r l ,方法和其他参数 ,”u s e r n a m e ”【, p a s s w o r d ,】) s e n d ( c o n t e n t )发送请求 s e t r e q u e s t h e a d e r ( l a b l e , v a l u e 1设置h e a d e r 并和请求一起发送 ( 3 ) 向服务器发出请求。可以调用s e r v l e = t 、c g i 脚本或者任何服务器端技术。 ( 4 ) 服务器处理有关请求,包括访问数据库,甚至访问另一个系统。 ( 5 ) 响应返回到浏览器。c o n t e n t - t y p e i 愀t e x t x m l ,x m l h t t p r e q u e s t 对象只 能处理t e x t x m l 类型的数据。要使浏览器不在本地缓存结果,可以使用下面的代 8 浙江大学硕士学位论文 码: r e s p o n s e s e t h e a d e r ( ”c a c h e - c o n t r o l ”,”n o - c a c h e ”) ; r e s p o n s e s e t h e a d e r ( ”p r a g m a ”,”n o c a c h e ”) ; ( 6 ) 在前述代码中,x m l h t t p r e q u e s t 对象配置为处理返回时要调用c a l l b a c k 函 数。这个函数会检查x m l h t t p r e q u e s t 对象的r e a d y s t a t e 属性,然后查看服务器返 回的状态码,有关垤l h t t p r e q u e s t 的状态码如表2 2 所示。如果一切正常, c a l l b a c k 函数就会在客户端上进行相关处理工作。 表2 2x m l h t t p r e q u e s t 状态码列表 属性描述 o n r e a d y s t a t e c h a n g e每次状态改变所触发事件的事件处理程序 对象状态值:归未初始化,1 = 正在加载 r e a d y s t a t e 2 - 加载完成,3 = 交互,4 = 完成 r e s p o n s e t e x t从服务器进程返回的数据的字符串形式 r e s p o n s e x m l从服务器进程返回的x m l 文档 s t a t u s 从服务器返回的数据代码,比如4 0 4 ( 未找到) s t a t u s t b ) 【t伴随状态码的字符串信息 以下就是一个典型的回调方法; f u n c t i o nc a l l b a c k 0 i f ( x m l h t t p r e a d y s t a t e = = 4 ) i f ( x m l h t t p s t a t u s 一2 0 0 ) ,处理服务器返回的数据的函数 ) x m l h t t p r e q u e s t 对象与服务器之间通信的方法有多种。x m l h t t p r e q u e s t g t j 象可以使用腓g e t 、p o s t 或者h e a d 方法发送请求,请求数据可以作为查询 串、x m l 或j s o n 数据发送。处理请求之后,服务器一般会发送简单文本、x m l 数据甚至j s o n 数据作为响应。 x m l h t t p r c q u e s t 运行于浏览器中的j a v a s c r i p t 脚本提供了一种在页面之内 与服务器通信的手段。页面内的j a v a s c r i p t 可以在不刷新页面的情况下从服务器 获取数据,或者向服务器提交数据。而在这个技术出现之前,浏览器与服务器通 信的唯一方式就是通过h t m l 表单的提交,这一般都会带来一次全页面的刷新。 9 浙江大学硕士学位论文 2 2a i a x 的体系结构 较之传统的w e b 体系结构,a j a x 体系结构在浏览器客户端多了一个a ja ) 【引擎, 在接受到用户界面传来的j a v a s c r i p t 调用后,发送相关请求到服务器,a j a x 来完 成用户界面上的部分的更新,使页面和服务器的交互过程就变得十分流畅。 图2 2 a j a x 引擎模型 a j 戤引擎【1 3 】【1 4 i 的作用是分离w e b 页面的呈现和应用,实现浏览器和服务器交 互的异步化。一方面,通过j a v a s e d p t 脚本编程语言灵活地处理数据验证、数据 编辑等用户请求,并依靠d o m 和c s s 实现用户界面的动态显示和格式化呈现; 另一方面,通过j a v a s c r i p t 在无需刷新和重载浏览器页面( 页面呈现完全独立于与 服务器端的交互) 的条件下,利用x m l h t t p r e q u e s t 对象与服务器进行线路化的数 据交换,如图2 2 所示 这种体系结构的优势在于【1 5 l 【1 6 1 : i o 浙江大学硕士学位论文 ( 1 ) 中间层引擎分担了一部分服务器处理数据的工作,减轻了用户请求对网 络和服务器的负担; ( 2 ) 客户端与服务器端异步交互的特点使得页面更新无需重载,减少了用户 的等待时间,给用户更好的使用体验; ( 3 ) j a v a s c r i p t 、x m l h t t p r e q u e s t 等已为浏览器广泛支持,具有很好的通用性。 2 3a j a x 技术的原理 a j a x 的工作原理【l7 】相当于在用户和服务器之间加了一个中间层,使用户操作 与服务器响应异步化。将以前一些服务器负担的工作转移到客户端,利用客户端 闲置的处理能力来进行处理,而不是把所有的用户请求都提交给服务器,例如一 些数据验证和数据处理工作都可以交由a j a x 引擎完成,只有确定需要从服务器 读取新数据时再由n j 双引擎代为向服务器提交请求。a j a x 是传统w e b 应用程 序的一个转变,主要体现在处理客户端请求和交互模式两个方面。 2 3 1a j a x 处理客户端请求 在传统的b s 交互模式中( 如用户提交表单) ,是由用户触发一个h t t p 请求到 服务器,服务器对其进行接受并进行处理后再返回一个新的h t i _ i l 页面到客户端。 每当服务器处理客户端提交的请求时,客户只能空闲等待,并且即使只是一次很 小的交互,只需从服务器端得到很简单的一个数据,都要返回一个完整的h t m l 页,而用户每次都要浪费时间和带宽去重新读取整个页面。这种做法实际上是一 种浪费,因为在前后两个页面中的大部分h t m l 代码往往是相同的。由于每次应用 的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。 这就导致了用户界面的响应比本地应用慢得多,产生了一定程度的滞后效应。 与此不同,如图2 3 所示。a j a x 采用的是“按需取数据【13 l 【1 9 】”的模式,可以 仅向服务器发送并取回必需的数据,所以最大可能在减少了冗余请求和响影对服 务器造成的负担;它使用s o a p 或其它一些基于x m l 的w e bs e r v i c e 接口,在客户 端采用j a v a s c r i p t 处理来自服务器的响应。这样。在服务器和浏览器之间交换的 数据就会大量减少,用户就能看到响应更快的应用,用户可以感觉到几乎所有 的操作都会很快响应没有页面重载的等待。同时,很多的处理工作可以在发出请 浙江大学硕士学位论文 求的客户端机器上完成,大大减轻w e b 服务器的负担和处理时间。实验表明m 1 , a j a ) 【的这种数据交互模式相比于传统的整页刷新模式,节省网络带宽超过6 0 。 浏览器客户端 i 用户界面 l p 请求jfh t m d w e b 服务器 ! 数据存储 后端处理器 服务器端系统 传统w e b 应用模型 a j a n w e b 应用模型 图2 3 传统w e b 模型与a j a x w e b 模型的对比 2 3 2a j a x 应用交互模式 传统的w e b 应用采用同步交互过程,如图2 4 所示。这种情况下,用户首先 向h t t p 服务器触发一个行为或请求。反过来,服务器执行某些任务,再向发出 请求的用户返回一个h t m l 页面。这是一种不连贯的用户体验,服务器在处理 请求的时候,用户多数时间处于等待的状态,屏幕内容也是一片空白。 与传统的w e b 应用不同,a j a x 采用异步交互过程【z l 】,如图2 5 所示。a j a x 在用户与服务器之间引入一个a j a x 引擎,w e b 页面不用打断交互流程进行重新 加裁,就可以动态地更新,从而消除了网络交互过程中的处理一等待一处理一等 待缺点。用户的浏览器在执行任务时即装载了a j a x 引擎。a j a x 引擎用j a v a s c f i p t 语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的 交互。a j a x 引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与 浙江大学硕士学位论文 网络服务器间的交流。现在,可以用j a v a s c d p t 调用a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区物业服务与维护手册
- 创意设计项目管理手册
- 2026年海洋科技深海探测报告
- 零售业态发展与经营管理手册
- 化工产品研发与质量检测手册
- 产品线风险识别与应对措施工作手册
- 物流信息系统操作与数据管理手册
- 2026年省级新型城镇化建设题库
- 2026年马鞍山市烟草系统事业单位人员招聘考试备考试题及答案详解
- 2026年品牌策划与市场推广策略自答题目
- 【MOOC】现代邮政英语(English for Modern Postal Service)南京邮电大学-章节答案
- 猪病诊断与防治
- 22G101三维彩色立体图集
- 层高控制管理方案
- GB/T 5578-2024固定式发电用汽轮机规范
- 机械制造专业毕业答辩模板
- 大观念统整下初中英语单元项目式学习实践研究
- 国家开放大学《心理健康教育》形考任务1-9参考答案
- 中国戏曲剧种鉴赏智慧树知到期末考试答案章节答案2024年上海戏剧学院等跨校共建
- 盘式制动器中英文对照外文翻译文献
- 三只小猪盖房子拼音版故事
评论
0/150
提交评论