




已阅读5页,还剩61页未读, 继续免费阅读
(信号与信息处理专业论文)基于aspnet+ajax的web开发研究及应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 a j a x ( a s y n c h r o n o u sj a v a s c r i p ta n dx m l ) 是一种新的w e b 应用程序开发技 术。这个技术采用了异步调用的方式,促使页面局部刷新,所以它可以仅仅向 服务器传送和接收自己所需要的数据,从而减少网络流量,并可以使w e b 应用 程序具有更高的即时响应性,更好的可交互性和更方便的个性化服务,使用户 像使用桌面应用程序一样使用w e b 应用程序。 本论文是基于a j a x 技术,在m i c r o s o f t 公司提供的a s p n e t2 0a j a x 框架 下,围绕w e b 应用的交互模式进行研究。理论上,探讨了a j a x 的核心技术和开 发模式,从应用原理和设计模式方面探讨了a j a x 模式与传统模式下的w e b 开 发的区别与联系,为a j a x 的最佳实践提供理论依据。实践中,为a j a x 的应用搭 建了a s p n e t a j a x 开发环境,从具体实例深圳市新产业投资咨询有限公司办 公信息系统的需求角度出发,对原传统模式下应用开发进行分析并指出不足, 将a j a x 技术应用到系统中,充分发挥出a j a x 模式下系统开发的优越性,改进了 原办公系统。使a j a x 技术在办公系统中得到实现,这也是本论文的重点。本文 的主要工作包括以下几个方面: ( 1 ) 将a j a x 技术与传统w e b 开发技术进行了比较分析,总结得出了a j a x 技术的应用特征和主要优势,以及应用安全性方面的问题。 ( 2 ) 深入探讨了m i c r o s o f t 公司提供的a s e n e t2 0 a j a x 框架,为基于a j a x 实例开发搭建了a s e n e t a j a x 开发环境,配置了a s p n e t a j a xw e b 应用程序。 ( 3 ) 将a j a x 应用到深圳市新产业投资咨询有限公司办公信息系统的客 户服务中心模块中,实现客户信息添加的即时数据校验,同时还添加了带有水 印效果的文本框,提高交互性。 ( 4 ) 将a j a x 应用到深圳市新产业投资咨询有限公司办公信息系统的业 绩考核模块,设计并实现了具有特效的可折叠面板,同时添加了能自动弹出的 日历,使整个界面友好而具有个性化。 ( 5 ) 将a j a x 应用到深圳市新产业投资咨询有限公司办公信息系统的公 司要闻模块,无刷新动态添加公司信息,减少页面的重载,较低服务器的开销, 增强了用户体验。 关键词:a j a x ,w e b ,a s e n e t2 0 a j a x 框架,异步交互设计 a b s t r a c t a i a x ( a s y n c h r o n o u sj a v a s c r i p t a n dx m l ) i san e ww e ba p p l i c a t i o n d e v e l o p m e n tt e c h n o l o g y t h i st e c h n o l o g yu s e sa s y n c h r o n o u sc a l l sm e t h o d t or e f r e s h l o c a lp a g e s ,s oi tc a nr e d u c en e t w o r kt r a f f i ct h r o u g ho n l ys e n d i n ga n dr e c e i v i n g t h e i r r e q u i r e dd a t a ,a n dw i l le n a b l ew e ba p p l i c a t i o n s i sm o r ei m m e d i a t er e s p o n s e ,b e t t e r c a l lb ei n t e r a c t i v e ,m o r eu s e r - f r i e n d l ya n dp e r s o n a l i z e ds e r v i c e a l l o w i n g u s e r st ou s e a sd e s k t o pa p p l i c a t i o n sl i k et h eu s eo fw e ba p p l i c a t i o n s t h i sp a p e ri sb a s e do na j a xt e c h n o l o g y , i nt h em i c r o s o f tc o r p o r a t i o nt op r o v i d e t h ea s e n e t2 0a j a xf r a m e w o r k ,t h ei n t e r a c t i v ew e ba p p l i c a t i o n so nt h i sm o d eo f s t u d 、lt h e o r e t i c a l l y , d i s c u s s e dt h ec o r eo fa j a xt e c h n o l o g i e sa n dt h ed e v e l o p m e n t m o d e l a sw e l la sd i s c u s s e dd i f f e r e n c eb e t w e e nw e ba p p l i c a t i o nd e v e l o p m e n tu n d e r t h ea ia xp a t t e r na n dt h et r a d i t i o n a lp a t t e r nf r o mt h ea p p l i c a t i o np r i n c i p l e a n dt h e d e s i g np a t t e r na s p e c t i tp r o v i d e st h et h e o r yb a s i s f o rt h ea j a xb e s tp r a c t i c e i nt h e p r a c t i c e t h ea p p l i c a t i o nf o ra j a gb u i l ta s p n e ta j a xd e v e l o p m e n te n v i r o n m e n t , f r 0 mc o n c r e t ee x a m p l e ”s h e n z h e nn e wi n d u s t r yi n v e s t m e n tc o n s u l t a t i o nl i m i t e d c o m p a n yo f f i c ei n f o r m a t i o ns y s t e m ”t h ed e m a n dp o i n t o fv i e w a n a l y z e sa n dp o i n t s o u tt h ei n s u f f i c i e n c yt h eo r i g i n a lt r a d i t i o n a lp a t t e r nu n d e ru s i n gt h ed e v e l o p m e n t , a p p l i e di nt h es y s t e mt h ea j a xt e c h n o l o g y , d i s p l a y e df u l l yt h es y s t e md e v e l o p m e n t s u p e r i o r i t yu n d e rt h ea j a xp a t t e r n ,t oi m p r o v e dt h eo r i g i n a ls y s t e m t h er e s e a r c h e n a b l e st h er e a l i z a t i o no fa j a xt e c h n o l o g yw i t h i nt h eo f f i c es y s t e m t h i si sa l s ot h e f o c u so ft h i sp a p e r - t h i sa r t i c l ep r i m et a s ki n c l u d i n gt h ef o l l o w i n gs e v e r a la s p e c t s : f 1 ) c o m p a r a t i v ea n a l y s i s t h e a j a xt e c h n o l o g y a n dt h et r a d i t i o n a l w e b d e v e l o p m e n tt e c h n o l o g y , s u m m a r i z e dt h ea j a xt e c h n o l o g ya p p l i c a t i o nc h a r a c t e r i s t i c a n dm a i ns u p e r i o r i t y , a sw e l la st h ea p p l i c a t i o no fs e c u r i t yi s s u e s ( 2 ) d e e p l yr e v i e wo nt h ea s e n e t 2 0a j a xf r a m e w o r kp r o v i d e db ym i c r o s o f t c o r p o r a t i o n t ob u i l de n v i r o n m e n tb a s e d o nt h ea j a xd e v e l o p m e n t t oe q u i p p e dw i t h a s e n e ta j a xw e ba p p l i c a t i o n s ( 3 ) a j a xh a db e e na p p l i e d t ot h em o d u l eo ft h ec u s t o m e rs e r v i c ec e n t e ro f l l ”s h e n z h e nn e wi n d u s t r yi n v e s t m e n tc o n s u l t a t i o nl i m i t e d c o m p a n y o f f i c e i n f o i r m a t i o n s y s t e m ”r e a l i z e s i m m e d i a t ed a t av e r i f i c a t i o nf o r t h ec u s t o m e r i n f o r m a t i o ni n c r e a s e s ,a l s oa d dt h ew a t e r m a r ke f f e c tf o rt h et e x tb o xt oi m p r o v e i n t e r a c t i v e ( 4 ) a j a xh a db e e na p p l i e dt o t h em o d u l eo ft h ep e r f o r m a n c ee v a l u a t i o no f ”s h e n z h e nn e wi n d u s t r yi n v e s t m e n tc o n s u l t a t i o nl i m i t e d c o m p a n y 0 f f i c e i n f o r m a t i o ns y s t e m ”,d e s i g n e da n di m p l e m e n t e dt h ef o l d i n gp a n e l sw i t hs p e c i a l e f f e c ta n da d daa u t o m a t i cp o p u pc a l e n d a r , e n a b l e dt h ew h o l ei n t e r f a c ef r i e n d l y a n di d i o s y n c r a t i c ( 5 ) a j a xh a db e e na p p l i e dt ot h em o d u l eo ft h ec o m p a n yi m p o r t a n tn e w so f ”s h e n z h e nn e wi n d u s t r yi n v e s t m e n tc o n s u l t a t i o nl i m i t e dc o m p a n y0 f f i c e i n f o r m a t i o ns y s t e m ”,r e f r e s h - f r e ed y n a m i ca d di n f o r m a t i o nf o rc o m p a n y , t or e d u c e s p a g e sh e a v yl o a da n dt ol o ws e r v e r se x p e n s e s ,e n h a n c et h eu s e re x p e r i e n c e k e yw o r d s :a j a x ,w e b ,a s e n e t 2 0a j a xf r a m e s ,a s y n c h r o n o u si n t e r a c t i o nd e s i g n i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:扬i 生f i 期:2 1 1 墨:! ! :墨 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权 保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:物i 垒导师签名:丑趔竺e t 期:型呈:! ! :墨 武汉理工大学硕士学位论文 1 1 课题背景 第1 章绪论 目前互联网正在从传统w e b l 0 逐渐向开放的、可读写的、多媒体的w e b 2 0 t l l 交互平台过渡,适应个人用户逐渐参与w e b 站点的互动要求。以用户体验型的 网络服务为特征的w e b 应用代表了目前互联网的发展趋势。一种新的w e b 应用 交互模型a j a x 交互模型的出现为我们提供了一种新的w e b 设计方法。通过 对a j a x 模式的应用,不仅改变了传统w e b 应用模式,同时也开拓了w e b 开发 的一片新领域。 2 0 0 5 年2 月w e b 设计咨询企业a d a p t i v ep a t h 公司用户体验总监耶西力勒 ( j e s s ej a m e sg a r r e t t ) 发表了名为( ( a j a x :an e w a p p r o a c ht ow 曲a p p l i c a t i o n s ) ) ( a j a x :w e b 应用的一种新方法) 的文章。文中加勒特阐述了w e b 应用程序可以 更接近于传统的桌面应用程序的观点,他引用了一些新技术和g o o g l e 项目 ( g o o g l em a p 、g o o g l es u g g e s t 等) 作为例子来说明传统的基于桌面的用户交 互模型现在如何应用于w e b 上,讨论了如何消除胖客户( 或桌面) 应用与瘦客 户( 或w e b ) 应用之间的界限,并给出了基于这种思想的交互模型,同时将实 现这种应用的技术命名为:a j a x ( 即a s y n c h r o n o u sj a v a s c r i p ta n dx m l ) 。这是 a j a x 一词的首次提出,由此a j a x 迅速成为了当今w e b 开发中最为热门的词汇, w e b 开发掀开了它崭新的一页1 2 。a j a x 是使用客户端脚本与w 曲服务器交换数 据的w e b 应用的开发方法。这样,w e b 页面不用打断交互流程进行重新加载, 就可以动态地更新。使用a j a x 用户可以创建接近本地桌面应用的更丰富、更动 态的w e b 用户界面。 a j a x 本身不是- f - j 新的语言或技术,实际上是由几种蓬勃发展的技术以新 的强大方式组合而成:包括j a v a s c r i p t 、x h t m l 、c s s 、d o m 、x m l 、x s t l 和x m l h t t p r e q u e s t 。其中:使用x h t m l 和c s s 进行标准化呈现;使用d o m 实现动态显示和交互;使用x m l 和x s t l 进行数据交换与处理;使用 x m l h t t p r e q u e s t 对象进行异步数据读取;使用j a v a s c r i p t 绑定处理所有数据1 3 1 。 通过这些技术的集成,a j a x 实现了浏览器与服务器无刷新交互,数据的按需获 武汉理工大学硕士学位论文 取与页面的部分加载,改变原有的同步交互为异步交互方式:极大地缓解了网 络流量,节省了带宽;同时它具有的良好的远程交互能力;大大地提升了用户 体验,使用户像使用桌面应用程序一样使用b s 架构的软件。 a j a x 是新兴网络开发技术的代表,正成为w e b 2 0 应用领域的研究热点,并 涌现出了许多a j a x 框架,这推动了a j a x 在w e b 中的应用发展。 1 2 课题的研究目的及意义 从最初的c s 架构到今天的b s 架构,互联网已经日益成为应用程序开发 的默认平台,越来越复杂的基于w e b 的新型服务不断冲击着我们已经习惯了的 传统w e b 应用。传统的w e b 应用程序模型从技术上来说意义非凡,但它并不适 用于创建完美的用户体验,这使得w e b 应用似乎始终无法达到桌面应用程序所 拥有的功能丰富性和响应能力。但a j a x 的出现为我们提供了一个w 曲应用开发 的新理念。将静态w e b 页面转变为充满交互的动态应用。在不牺牲w e b 应用程 序部署的简单性的同时,将“胖”客户端应用程序部署到客户端,实现表现能力更 加丰富、更加智能的客户端应用。将一直以来都期望在以前c s 架构中实现的 功能迁移到现在的b s 架构中实现。并且通过w e b 自身的优点实现更加生动的、 更加良好的用户体验。 在实际的w e b 应用中当用户跟服务器交流的时候,服务器需要处理大量的 请求和更新用户的页面,消耗了大量的网络资源。而且客户端的资源没有被充 分利用。现在通过使用a j a x 技术把以前一些服务器承担的工作转嫁到客户端。 有利于使用客户端闲置的资源来处理一些服务器端的任务,从而达到减轻服务 器负载和带宽负担的目的i 引。 从根本上讲a j a x 引发的是我们对当前w 曲应用理念的思考,而不仅仅是单 纯的技术问题。对于现行的大多数传统应用我们是该摒弃,还是该继续? 无疑, 对于传统的w e b 应用,它们在特定的时期做出了巨大的贡献,正确地分析它们 的特点和优点同时对其加以不断地改进才会真正使w e b 应用得以升华。与传统 w e b 应用程序设计相比a j a x 设计模式下的w e b 应用具有许多的不同,a j a x 处 在很多学科的交叉点上,虽然其本身应用于客户端,但是这种( 以不同方式使用 这种a j a x ) 差别也扩展到了服务器端。从架构的角度来看,a j a x 性质的w 曲应 用并不仅仅是x m l h t t p r e q u e s t 或者是异步传输、无刷新w e b 应用的代言,通 2 武汉理工大学硕士学位论文 过分析我们会发现a j a x 模式的系统架构是复杂多变的,它可以包含很多用于处 理特定编码任务的小模式( 如f a c a d e ,a d a p t e r ,o b s e r v e r ) ,也可以是一个完整 的用来组织整个应用的模式( 如m v c ) 。在对a j a x 的应用进行设计分析时,即使 是对传统的m v c 模式,在加入了a j a x 性质后也发生了一些变化。a j a x 设计模 式使我们从一个全新的视角来看w e b 开发,它使人们意识到事实上前台客户端 的开发也同样具有重要的研究价值。 到目前为止a j a x 仍在不断的发展,许多相关技术层出不穷,种类繁多的新 的开发框架和组件库的出现在给a j a x 开发带来很多便利的同时,也使a j a x 的应 用处于一种混沌状态。如何将a j a x 应用于企业级的w e b 应用中,如何实现基于 a j a x 模式的w e b 开发是一个非常值得研究的问题。本文意在通过对a j a x 本身应 用特性的研究,围绕实现a j a x 架构的w 曲应用所需要解决的问题,对a j a x 应 用的安全、性能等方面进行分析;结合设计模式理论,重点应用m i c r o s o f t 公司 提供的a s p n e t2 0a j a x 框架,为使用a j a x 的企业级开发提供一定的理论和实 践依据。 1 3 国内外研究现状 a j a x 技术有两个推动力,w e b 标准的成熟和软件交互设计和可用性理论的 成熟。在软件的可用性方面,除了一些通用的软件可用性和交互设计理论之外 ( 这方面的经典著作包括面向使用的软件设计、( ( a b o u tf a c e2 o 中文版等 等) ,w e b 应用的可用性( w 曲u s a b i l i t y ) 也是国外非常热门的一个研究领域, 主要侧重于研究如何提高w e b 应用的可用性。美国在这个领域有着非常深入的 研究,并且对于一些公共机构网站的可用性还有相关的法律条款来约束 ( s e c t i o n 5 0 8 ,5 0 8 条款,于2 0 0 1 年6 月2 1 日成为美国的法律,直接影响了联 邦部门和些代理机构,还有为他们服务的网页设计师。这条法律也适用于政 府投资项目和任何采用了该法律的州) 。对于这些网站,如果无法达到条款上的 一些可用性要求,网站经营者就违法了。如果是开发公司无法达到这些要求, 就别指望从联邦政府手中拿到这些项目。 为了对如何提高w e b 应用的可用性做出指导,w 3 c 在2 0 世纪9 0 年代建立 了w e b a c c e s s i b i l i t yi n i t i a t i v e ( w a i ) ,致力于为网站建造者提供实现可访问性( 与 可用性同义) 的方法和策略( h t t p :w w w w 3 o r g w a i g l ) w e b 可用性方面的经 3 武汉理工大学硕士学位论文 典著作包括网站重构1 5 i 。 a j a x 于2 0 0 5 年2 月提出就以其基于构建胖客户端的w e b 应用程序的特性, 以及可开发友好的用户界面,良好的交互性和互操作性受到越来越多人的青睬。 随着g o o g l e 依据a j a x 的原理推出了g o o g l em a p 、g o o g l es u g g e s t 等一系列产品 后人们更加意识到了a j a x 的巨大魅力| 6 1 。曾经持观望态度的y a h o o 、微软等公 司也迅猛转向a j a x 的研究与开发,前者利用a j a x 技术推出了全新的邮件浏览界 面和即时搜索( i n s t a n ts e a r c h ) ,后者更是大力整合旗下多个w e b 相关部门,力 推全新的l i v e t o m 服务,一个与g o o g l e 非常相似的基于a j a x 的网站。a m a z o n 的a 9 搜索、苹果公司的网上商店、网站新贵f l i c k r 、d e l i c o t i s 、电子商务网站 n e t f l i x 、美国在线和道琼斯网站等等都成为a j a x 的经典案例r 7 1 。人们发现这些 炫目的应用实际上并没有采用新的技术以及算法,而这些新的功能和特性可以 很容易地被引入w e b 开发当中。以前的w e b 开发经验也可以继续的使用和累积, 需要改变的只是在新的设计思路下做相应的调整和转变。 随着w e b 2 0 时代的到来,a j a x 更是成为开发个性化、中心化和信息自主 化网络应用强有力的核心技术之一。w e b 2 0 是相对w 曲1 o ( 2 0 0 3 年以前的互联 网模式) 的新的一类互联网应用的统称,是一次从核心内容到外部应用的革命。 目前,业界已经采纳并且大力推动a j a x 技术的发展1 8 l 。首先微软在自己的n e t 框架中给出了基于a j a x 的扩展和实现,继2 0 0 6 年中起便陆续发布支持a j a x 开 发的测试版工具,近日发表该工具套件的第一个正式版本:a s e n e ta j a x1 0 。 而后2 0 0 6 年2 月包括i b m 、o r a c l e 、y a h o o ! 、b e a 、r e d h a t 、n o v e l l 等许多高 科技公司宣布启动o p e na j a x 项目。b o r l a n d 公司也宣布d e l p h i 2 0 0 7 将全面支持 a j a x 开发。其实,不仅仅是微软,g o o g l e 这样的企业在使用a j a x ,l a n d s e n d 网站和沃尔沃公司( v o l v o ) 等也在使用a j a x 技术让潜在的客户设计他们的产品或 汽车,而且s a b r e 控股公司( s a b r eh o l d i n g s ) 也采用了a j a x 技术来减少其航空公 司客户使用的飞行计划软件的响应时间。企业通过使用a j a x ,可以强化网站的 功能,提高用户体验。a j a x 还催生了一系列基于互联网的新服务,包括免费文 字处理程序w r i t e l y ,电子数据表制作网站n u m s u m ,以及人们用于编制日程和 工作时间表的网站v 0 0 2 d o 。而更惊人的是,g o o g l e 和一批新创公司已经开始利 用a j a x 开发炫目的新一代的软件,你所熟悉的文本处理、电子表格、日程安排 等等功能,都可能以网页形式出现在浏览器中,并且可以免费使用。甚至s a p 、 o r a c l e 、s u n 和b e a 这样的企业软件巨头;t i b c o 、l c o n i x 这样的重量级工具厂 4 武汉理t 大学硕士学位论文 商也已经或者准备在其产品中加入a j a x 支持。s y sc o n 等技术媒体,己经开辟 了专门的a j a x 频道【9 1 。 国内对a j a x 的研究刚刚开始,可用的资料还比较少,但是已经有人在开发 新的a j a x 应用框架。国内著名门户网站网易,新浪的邮件系统已经采用了a j a x , 它极大减少了用户操作的响应时蝌1 0 l 。 综上所述,可以认为a j a x 就是w e b 标准和w e b 应用的可用性理论的集大 成者。它极大地改善了w e b 应用的可用性和用户的交互体验,最终得到了用户 和市场的广泛认可。所以说,a j a x 就是用户和市场的选择。 1 4 本文主要工作及结构安排 本文主要探讨了目前非常热门的a j a x 技术,分析和研究了传统模式下w e b 开发时所存在的一些不足,在理论研究的基础上,研究基于a j a x 模式下w e b 开 发的思想。包括a j a x 的由来,并结合一个实际的项目“深圳新产业信息系统”讨 论了在系统中如何结合a s e n e t 平台来实现a j a x 技术。在这个项目中,我们创 新性地在系统中引入了当今很流行的a j a x 技术,较好地解决了传统w e b 应用遗 留下的很多问题,比如即时数据校验、可输可选的下拉框,数据联动,页面长 时间等待等问题,大大提升了用户的体验。 针对项目的具体需求,技术平台是a s e n e t ,所以我们采用了开源的可视 化的a j a x 开发框架m i c r o s o f t a s e n e t a j a x ,实现了客户信息添加的即时数据校 验、动态载入公司要闻、无刷新动态添加新建项目信息和资料搜索自动完成等 功能。论文中深入探讨了a s e n e t a j a x 的配置、使用以及具体实现流程。对其 它欲采用a j a x 技术的a s e n e t 项目具有很好的借鉴意义。 全文共分5 章,各章节的具体研究内容如下: 第1 章绪论:主要对课题研究背景、课题的研究目的及意义、国内外研究 发展的现状和本论文的主要工作及结构安排等进行了综述。 第2 章a j a x 技术的概述:介绍a j a x 的定义、分析a j a x 的核心技术及工作 原理、探讨a j a x 技术的优势与不足,总结了a j a x 技术的应用范畴。为下一章深 入研究a j a x 技术的应用奠定了理论基础。 第3 章a j a x 技术的分析与研究:对a j a x 技术进行深入的研究,首先分析 a j a x 的异步调用的实现,研究a j a x 的设计模式,并通过对当前经典案例的研究, 5 武汉理j 二大学硕士学位论文 总结出a j a x 应用程序的特征,同时还对使用a j a x 技术的安全性进行详细的分析, 指出了相应的解决措施。为下一章a j a x 在实际系统中的设计和实现奠定了基础。 第4 章a j a x 在办公信息系统中的设计与实现:对a j a x 技术在具体的办公系 统中进行了实现,是本论文的重点。详细介绍了m i c r o s o f ta s p n e t2 0a j a x 框 架结构,为a j a x 的应用搭建了a s r n e ta j a x 开发环境,在深圳市新产业投 资咨询有限公司办公信息系统中进行实例分析和方案对比,通过源代码分析、 图例、图表等手段,深入浅出地讲述a j a x 技术在w e b 应用领域中的实现方法。 同时对比原传统模式下的系统开发,充分体现出a j a x 模式下系统开发的优越性。 第5 章总结与展望:总结了本文的主要工作,并对研究工作进行展望。 6 武汉理t 大学硕士学位论文 2 1a j a x 的定义 第2 章a j a x 技术的概述 a j a x 全称为“a s y n c h r o n o u sj a v a s c r i p ta n dx m u ( 异步j a v a s c r i p t 和x m l ) , 是指- - $ 中g , j 建交互式网页应用的网页开发技术。a j a x 1 l 这_ 个名词的首次出现是 在2 0 0 5 年2 月1 8 日美国一位叫做杰西詹姆斯加勒特( j e s s ej a m e sg a r r e t t ) 发表的一篇题为g a j a x :一个w e b 应用的新途径的论文中。a j a x 不是一门新 的语言或技术,实际上它是由几种蓬勃发展的技术以新的强大方式组合而成。 这些技术包括j a v a s c r i p t 、x h t m l 、c s s 、d o m 、x m l 、x s t l 和 x m l h t t p r e q u e s t l l n 。其中: 使用x h t m l 和c s s 进行标准化呈现 使用d o m 实现动态显示和交互 使用x m 脚x s t l 进行数据交换与处理 使用x m l h t t p r e q u e s t 对象进行异步数据读取 使用j a v a s c r i p t 绑定和处理所有数据 a j a x 提供了用户与服务器异步通信的能力,使用户从请求响应的循环中解 脱出来。借助于这门技术,在用户向服务器提交请求时,使用j a v a s c r i p t 的 x m l h t t p r e q u e s t 对象向服务器发出异步请求,以查询数据库或执行更新。当请 求返回时,使用j a v a s c r i p t 调用d o m 相应的方法更新相应的页面内容,而不是 刷新整个页面。这个过程使w e b 站点看起来就像桌面应用程序一样是即时响应 的,可以说a j a x 允许开发人员和设计人员创建具有桌面风格的w e b 应用程序1 1 2 1 。 2 2a j a x 核心技术 一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 ,它最初的名称叫做 x m l h t r p ,是微软公司为了满足开发者的需要,1 9 9 9 年在i e 5 0 浏览器中率先 推出的。后来这个技术被上述的规范命名为x m l h t t p r e q u e s t l l 3 1 。它正是a j a x 7 武汉理工人学硕士学位论文 技术之所以与众不同的地方。简而言之,x m l h t t p r e 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 表单的提 交,这一般都会带来一次全页面的刷新。 x m l h t t p r e q u e s t 的出现为w 曲开发提供了一种全新的可能性,甚至整个改 变了人们对于w e b 应用由什么来组成的看法。在这个技术出现之前,由于技术 上的限制,人们认为w e b 应用就是由一系列连续切换的页面组成的。因此整个 w e b 应用被划分成了大量的页面,其中大部分是一些很小的页面。用户大部分 的交互都需要切换并刷新整个页面,而在这个过程中( 下一个页面完全显示出 来之前) ,用户只能傻等,什么都做不了。然而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 e q u e s t 是x m l h q t p 组件的对象,通过这个对象,a j a x 可以像桌 面应用程序一样只同服务器进行数据层面的交换,而不用每次都刷新界面,也 不用每次将数据处理的工作都交给服务器来做。这样既减轻了服务器负担又加 快了响应速度,缩短了用户等待的时间【“1 熨。 i e 5 0 开始,开发人员可以在w e b 页面内部使用x m l i 矾c t i v e x 组件扩 展自身的功能,不用从当前的w e b 页面导航就可以直接传输数据到服务器或者 从服务器接收数据。m o z i l l a l 0 以及n e t s c a p e 7 则是创建继承x m l 的代理类 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 对象和x m l h t i p 组件很 相似,方法和属性类似,只是部分属性不同f 1 6 】。 x m l h t t p r e q u e s t 对象初始化: v a rh t t pr e q u e s t = f a l s e ; 腼测览器 h t t p _ r e q u e s t = n e wa c t i v e x o b j e c t ( m s x m l 2 x m l h i t p ”) ; h t t p _ r e q u e s t = n e wa c t i v e x o b j e c t ( ”m i c r o s o f t x m l h t i p ”) ; m o z i l l a 浏览器 h t t p _ r e q u e s t = n e wx m l h t t p r e q u e s to ; 8 武汉理工大学硕士学位论文 x m l h t t p r e q u e s t 对象的方法,如表2 - 1 所示: 表2 - 1x m l h t t p r e q u e s t 对象的方法 方法 描述 a b o r t 0 停止当前请求 g e t a l l r e s p o n s e h e a d e r s 0 作为字符串返回完整的h e a d e r s g e t r e s p o n s e h e s d e r ( ”h e a d e rl a b e l ”) 作为字符串返回单元的h e a d e r 标签 o p e n ( ”m e t h o d ”,”u r l ,【,a s y n c f l a g , u s e r n a m e ” 设置未决的请求的目标u r l ,方法和 【,”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 e l , v a l u e ”) 设置h e a d e r 并和请求一起发送 x m l h t t p r e q u e s t 对象的属性,如表2 - 2 所示: 表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 状态改变的事件触发器 对象状态( i n t e g e r ) 0 - - 未初始化 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 服务器进程返回数据的文本版本 服务器进程返回数据的兼容d o m 的x m l r e s p o n s e x m l 文档对象 服务器返回的状态码,如:4 0 4 = “文件未找 s t a t u s 到”、2 0 0 = “成功” s t a t u s l r e x t服务器返同的状态文本信息 9 武汉理工大学硕士学位论文 - j a v a s c r i p t 语言 j a v a s c r i p t 是一种基于对象( o b j e c t ) 和事件驱动( e v e n td r i v e n ) 并具有安 全性能的脚本语言【r 。使用它的目的是与h t m l 超文本标记语言、j a v aa p p l e t ( j a v a 小程序) 一起实现在一个w e b 页面中链接多个对象,与w e b 客户交互作 用,从而可以开发客户端的应用程序等。它是通过嵌入( 调入) 标准的h t m l 语言中实现的。它的出现弥补了h t m l 语言的缺陷,是j a v a 与h t m l 折衷的选 择,具有以下几个基本特点f 搏1 9 j : 是一种脚本编写语言。j a v a s c r i p t 是一种脚本语言,它采用小程序段的方式 实现编程。像其它脚本语言一样,j a v a s c r i p t 同样也是一种解释性语言,它 提供了一个简易的开发过程。其基本结构形式与c 、c + + 、v b 、d e l p h i 十分 类似,但不像这些语言样需要先编译,丽是在程序运行过程中被逐行地解 释。j a v a s c r i p t 与h t m l 标识结合在一起,从而方便用户的使用操作。 基于对象的语言。j a v a s c r i p t 是一种基于对象的语言,而不是面向对象的 ( o b j e c t o r i e n t e d ) 。之所以说它是一门基于对象的语言,主要是因为它没有 提供如抽象、继承、重载等有关面向对象语言的许多功能。而是把其它语言 所创建的复杂对象统一起来,从而形成一个非常强大的对象系统。这意味着 它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象 的方法与脚本的相互作用。 简单性。j a v a s c r i p t 的简单性主要体现在:首先它是一种基于j a v a 基本语句 和控制流之上的简单而紧凑的设计,从而对于学习j a v a 是种非常好的过 渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。 安全性。j a v a s c r i p t 是一种安全性语言,它不允许访问本地的硬盘,并不能 将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览 器实现信息浏览或动态交互。从而有效地防止数据的丢失。 动态性。j a v a s c r i p t 是动态的,它可以直接对用户或客户输入做出响应,无 须经过w e b 服务程序。它对用户的反映响应,是采用以事件驱动的方式进 行的。所谓事件驱动,就是指在主页( h o m ep a g e ) 中执行了某种操作所产 生的动作,就称为“事件”( e v e n t ) 。比如按下鼠标、移动窗口、选择菜单等 都可以视为事件。当事件发生后,可能会引起相应的事件响应。 跨平台性。j a v a s c r i p t 依赖于浏览器本身,与操作环境无关,只要能运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年美术教师编制考试模拟试卷:美术教学案例研究与评价试题
- 2025-2030中国黑龙江省养老机构行业发展状况与前景方向分析研究报告
- 2025-2030中国鱼罐头行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国高粱酒市场需求动向与投资商机盈利性研究报告
- 2025年辅导员职位考试:学生思想政治教育方法与大学生心理健康教育策略试题
- 2025-2030中国食用植物油行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国颜色选择机行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国面部保湿霜行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国隔音窗行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国防静电吸尘器行业市场发展趋势与前景展望战略研究报告
- 《水土保持监测技术规范SLT 277-2024》知识培训
- 2025年江苏南京事业单位招聘(787人)高频重点模拟试卷提升(共500题附带答案详解)
- 档案管理制度培训宣贯
- GB/T 33136-2024信息技术服务数据中心服务能力成熟度模型
- 《保护地球爱护家园》课件
- 雾化吸入疗法合理用药专家共识(2024版)解读
- 2024年度产学研合作与科研奖励协议3篇
- 电力工程线路交叉跨越施工主要工序及特殊工序施工方法
- 【MOOC】软件度量及应用-中南大学 中国大学慕课MOOC答案
- 24秋国家开放大学《儿童发展问题的咨询与辅导》周测验参考答案
- 2025届江苏省苏州市重点中学高三第二次模拟考试英语试卷含解析
评论
0/150
提交评论