




已阅读5页,还剩76页未读, 继续免费阅读
(应用数学专业论文)基于ajax的动态web开发技术探讨.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
涛麓犬学硕士磷究生学经论文第l 黉 摘要 目前互联网正在从传统w e b l 0 逐渐向开放的,可读写的、多媒体的w e b 2 0 交 曩平台过渡,以适应个人用户逐渐参与w e b 站点的互动要求。但是桌颟应用程序所 绷蠢夔动襞丰鬻健巍豌应熊力则是嚣蔻w e b 掰无法达到瓣。2 0 0 5 每2 弼j e s s ej a m e s g a r r e t t r 提出了a j a x 这个概念。a j a x ( a s y n c h r o n o u sj a v a s e r i p t + x m l ) 怒一种新兴静 w 轴表示层技术,可以构建动态,快速和灵活的w e b 应用程序。a j a x 可以消除传 统h t t p 通信模式中对表单的依赖,从而实现快速而轻黧的异步通信。本文介绍了 a j a x 懿实瑶瓣璎与凝裁,瓣遽了蘩餐稠翅a j a x 技本寒掏建一个餐蘩魏挺絮教支 持全新的w e b 成用,并利用该框架所构建的应用,实现了浏览器直接与后端服务的 异步通信。 a j a x 综合了c s s 、j a v a s c 娃p t 、x h t m l 、x m l 、x m l h t t p r e q u e s t 、文档对象 羧羹等菝本,鼷建了魏建丰鬻豹基于w e b 豹瘦弱,解凌了w e b 2 0 交嚣,动态网夏等 的要求。并可以创建接近本地桌面应用的照直接高效、内容更动态的w e b 用户接翻 界俩,使之有桌面程序一样的观感。本文以“p i c c 寿险公司人力资源管理系统” 磺露为研究基础,通过实例详细描述了a j a x 技术在项弱中的运用成巢; l 、戳a j a x 技本重褥 撒颂番孛熬部分模块,编璐实现“动态双缀合下拉选撵 橇”,“无刷新树形控件”。 2 、提出使用一种将a j a x 技术与w e b g i s 的网络服务相结合的有效方法来实现 蹦,g l s 操作黪嶷簿用户体验。 3 、本文也飙实用匏角度瓣发讨论了a j a x 技术适用麴场合以及a j a x 技术g 翁 所面临的诸如熬构,安全,调试困难等问蹶和应对的方案。 4 、文章最感对移动服务开发市场的发展趋势进j 亍分析,指出a j a x 很可能会 餐换j a v a 疆秘x n t m l 瑟成为歼发移动威翔程序豹善逡警台。 关键词:a j a x ;异步通储;x m l h t t p r e q u e s tw e b s e r v i c e :w e b g i s 第1 i 页 河南火学硕士研究生学位论文 a b s t r a c t a tt h ep r e s e n ts t a g e ,t h ei m e m e ti sg r a d u a l l yt r a n s f o r m i n gf r o mt h et r a d i t i o n a l w 曲1 0t ot h ew 西2 。0i n t e r a c t i v ep l a t f o r m 。w h i c hi so p e n , m u l t i m e d i aa n d 凇r e a d a n dw r i t e t om e e tt h ei n d i v i d u a lc u s t o m e r s d e m a n dt og r a d u a l l yt a k ep a r ti nt h e w e b s i t e si n t e r a c t i o n b u tt h ep r e s e n tw e bc a l lh a r d l ym a t c ht h em u l t i f u n c t i o na n dt h e r e s p o n s i v ea b i l i t yp o s s e s s e db yt h ed e s k t o pa p p l i c a t i o np r o g r a m i nf e b r u a r y2 0 0 5 , j e s s ej a m e sg a r r e t t rp u tf o r w a r d 氆ec o n c e p to fa j a x , w h i c hi st h ea e r o n y r ao f 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 i t sa d v e n tb r i n g s a b o u tar e v o l u t i o ni nt h e a p p l i c a t i o no fw 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 t + x m l 、i san e ww e bp r e s e n t a t i o n t e c h n o l o g y , w h i c hc a nb eu s e dt ob u i l dd y n a m i c 。q u i c ka n df l e x i b l ew e ba p p l i c a t i o n p r o g r a m a j a x 渤e l i m i n a t e t h e d e p e n d e n c e o fs h e e ti nt r a d i t i o n a l 嚣f 糟 c o m m u n i c a t i o nm o d e ,s oq u i c ka n dl i g h ta s y n c h r o n o u sc o m m u n i c a t i o nc a nb ea c h i e v e d 、撕mi t i nt h i s p a p e r 。t h ei m p l e m e n t a t i o np r i n c i p l ea n dm e c h a n i s mo fa j a xa r e i n 拄o d u c e d , h o wt ob u i l das i m p l ea r c h i t e c t u r el os u p p o r tc o m p l e t e l yn e ww e b a p p l i c a t i o n sw i t ha j a xt e c h n o l o g yi se x p a t i a t e d u s i n gt h ea p p l i c a t i o nb u i l dw i 像t h i s a r c h i t e c t u r e , t h ea s y n c h r o n o u sc o m m u n i c a t i o nd i r e c t l yb e t w e e ne x p l o r e ra n db a c ke n d s e r v i c ei si m p l e m e n a t e d a j a xi n t e g r a t e dac o u p l eo ft e c h n o l o g i e s , i n c l u d i n gc s s ,j a v a s c r i p t , x h t m l , l , 黜h t t p r e q u e s t ,t h em o d e lo fd o c u m e n to b j e c t e t c a n dm e e t sm a n y r e q u i r e m e n t s ,s u c ha sc o n s t r u c t i n gm u l t i - a p p l i c a t i o nb a s e do nw e b ,s o l v i n gt h e i n t e r a c t i n gp r o b l e mo fw e b 2 0 ,a n dd y n a m i cw e b p a g ea n ds oo n i tc a na l s od e v e l o p w 蠢u s e r s i n t e r f a c et h a ti sm o r es u i t a b l ef o rt h el o c a ld e s k t o pa p p l i c a t i o na n dm o r e d i r e c ta n de f f i c i e n tw i t hm o r ed y n a m i cc o n t e n t , a n dm a k ei th a v et h es a m ei m p r e s s i o n s a st h ed e s k t o ps o f t w a r e 1 1 1 i st h e s i st a k e ”h rm i so ft h eb 喇i n gh e a d q u a r t e ro ft h ep i c cl i f ei n s u r a n c e ” i t e ma s 韬s t u d yf o u n d a t i o n t h e s ec o n c r e t ei n s t a n c e se x p l a i nt h eu s a g eo fa | a x 遮 p r a c t i c ei nd e t a i l : f i r s t l y ,i n t h i s p a p e rw ec o d e da n d r e l i z e dt h e ”d y n a m i cd o u b l e - c o m b o d r o p d o w n l i s t ”a n d ”n e e d l e s s l yr e f r e s ht r e ec o m p o n e n t ”t or e f a c t o rt h eo r i g i n a lm o d u l e o ft h e 珏r 艇l s s e c o n d l y ,t h i st h e s i sp r o p o s e sav a l i dw a y , w h i c hc o m b i n e sa j a xt e c h n i q u ea n d 河南大学硕士研究生学位论文第1 il 页 v i s u a lw e bs e r v i c eo fw e b g i sa n di sh i g h l ya p p l i c a b l e ,t os o l v ew e b g i s sp r o b l e mo f u s e re x p e r i e n c e t h i r d l y ,t h i st h e s i sa l s oa n a l y s e st h es u i t a b l eo c c a s i o nf o ra j a xf r o map r a c t i c a l p e r s p e c t i v ea n dt h ep r o b l e m sf a c e db ya a ) 【,s u c ha sr e f a c t o r i n g ,s a f e t ya n da d j u s t i n g d i f f i c u l t y , a n dg i v e sc o r r e s p o n d i n gs o l u t i o n s a tl a s t ,i ti sp o i n t e do u tt h a ti nt h ec o n t e x to f t h ed e v e l o p m e n to f t h em o b i l es e r v i c e m a r k e ti nr e c e n ty e a r s ,a j a xw i l l p r o b a b l yr e p l a c ej a v am ea n dx h t m la n d b d 7 o m et h em o s tp r e f e r r e dp l a t f o r mt od e v e l o pt h em o b i l es e r v i c em a r k e t k e yw o r d s :a j a x ;a s y n c h r o n o u sc o m m u n i c a t i o n ;x m l h t t p r e q u e s t ;w e b s e r v i c e ; w e b g i s 美子学位论文狂立完成葺口内容创新的声鹾 友,甓再面五拳提出顽圭拿住由请。五,一、郑重声旺:所至夏配攀信论乏 五,、在导师的指导下独立志成的对所碍咒醐最题有裁能见解。据我所韶齄 五年特射加以说明、标注南致谢的地方外,论工章不包括兵怔 。已经炭表或拦 算辽的移充成策,也系乜括乒把 为获得任何教盲、科研辊桐的学位或讧毒景 五知屯亍炙友) 以供套酝捡熏至匮;。太一、掺第、河南j 获掌出亍室搋、展览莹覆 季表炭晨牵连学学采交流等i 静揣。囊爨。番彝:彰帮、缩即、嚣描采拷贝等复靓三 段保存、汇编学住论又( 纸质五五知吧亍兄盅) 。 i 涉覆保吝内容的粤仨论五在解容后适厢最 釜r 二获稃者f 害i 互论天作者:釜名 堂1 王论工指导数师荽名:趁 1 兰6 媚a 篝拳 河南大学硕士研究生学位论文第1 页 第1 章绪论 1 1 课题研究的意义及背景 1 1 1 课题研究意义 从1 9 9 3 年至今,互联网正在从传统w e b l o 逐渐向开放的,可读写的、多媒体 的w j b 2 0 交互平台过渡,以适应个人用户逐渐参与w e b 站点的互动要求。互联网的 特征,应用与用户信息需求和信息行为也随之在不断演变。互联网应用w 曲2 0 以 f l i c k r , c r a i g s l i s t , l i n k e d i n , f d e n d s t e r 等网站为代表,以b l o g ,t a g , s n s ,r s s ,w i i i 等社 会软件的应用为核心,依据六度分隔,x m l ,a j a x 等新理论和技术实现了新一代 动态w e b 应用模式。w 曲应用程序是在网络一端的w 曲服务器上,这种应用部署方 便不需要安装客户端软件,用户通过w 曲浏览器进行访问并使用。但是传统的w e b 应用没有了桌面应用的丰富交互性,与服务器交互中要等待服务器响应,等待浏 览器刷新,等待请求返回和生成新的页面。基于a j a x 的动态w 曲开发技术可以实 现类似于桌面应用程序的功能和交互性,充当不断更新的w e b 应用程序之间的桥 梁。这样用户就可以在w e b 应用程序中像使用像桌面应用程序中常见的动态用户界 面和无刷新异步数据交互的控件。 理想的用户界面是无形的,需要的时候,召之即来,所有想要的功能一应俱 全;不需要的时候,挥之即去,用户可以不受干扰的继续专注于手头的问题【l l 。客 户希望得一个功能完备的应用,而开发人员想要避免重复而繁琐的部署工作。桌 面应用程序所拥有的功能丰富性和响应能力是目前w 曲应用所无法达到的,因为基 于显示文档内容的传统的w 曲浏览器技术已经无法胜任更高层面的任务了。 对于普通用户来说,使用传统的桌面应用程序( 可能在不同平台上开发的) 可能存在这样那样的限制,比如界面风格千变万化、操作习惯不一致、学习难度 大、接口不统一无法或很难和外部应用通信等。而传统的服务器端应用程序或网 站也存在许多限制,比如网络连通可能出现问题、响应速度慢、不能保证服务器 端始终可用、担心数据安全和个人隐私问题、不够灵活、使用不方便等。用户真 正需要的是基于浏览器的类似于桌面系统多样化的输入方式和符合直觉的及时反 馈的应用程序。 。 而a j a x 做为一种新的选择、一种新的开发工具,可以创建丰富的基于浏览的 第2 页河南大学硕士研究生学位论文 应用并且可以通过异步数据交换机制有效解决传统w e b 应用的“请求一响应”模式 中的网络延迟问题。a j a x 技术最终会让w e bs e r v i c e 和s o a 的前端变得功能强大, 从而成为s o a 和人机交互的w e bs e r v i c e 的主要用户接口。 本文正是根据以上原因并结合“p i c c 寿险公司人力资源管理系统”项目, 展开对基于a j a x 的动态w e b 开发技术进行探讨与研究。 1 1 2 课题研究技术背景 动态w e b 应用技术发展: 一、c g i 最初,所有w e b 页面都是静态的,用户请求一个资源,服务器再返回这个资源。 网站的w e b 页面只是电子形式的文本,在一处生成,内容固定,再发布到多处。科 学家只是使用因特网来交换研究论文,大学院校也只是通过因特网在线发布课程 信息。随后w e b 用户开始有新的要求,希望能得到更动态的网上体验。要让w e b 更 为动态,第一个办法是公共网关接口( c o m m o ng a t e w a yi n t e r f a c e ,c g i ) 。与静态的 w e b 获取不同,使用c g i 可以创建程序,当用户发出请求时就会执行这个程序。但 是c g i 并不是最安全的方法,倘若某个用户有恶意企图,则很可能会利用这一点, 让系统运行你本来不想运行的程序【5 1 。 二、j a v a a p p l e t j a v a 是由s u n 公司开发的一门面向对象的编程语言,j a v a 对w e b 的主要贡献在于 j a v a a p p l e t ,它是自包含式( 即独立的) 的小型可执行程序例。a p p l e t 允许开发人 员编写可嵌入在w e b 页面的小应用,能够向w e b 页面增加动态内容。所有的浏览器 现在都支持j a v a ,这表示用户一般均可浏览a p p l e t 。尽管a p p l e t 可以做很多事情, 但它也存在一些限制:通常不允许它读写文件系统,它也不能加载本地库,而且 可能无法启动客户端上的程序。除了这些限制外,a p p l e t 是在一个沙箱安全模型中 运行的,这是为了有助于防止用户运行恶意代码1 5 】。 三、j a v a s c r i p t j a v a s c r i p t 是一种客户端脚本语言,可以为网页添加交互性,以及让设计者控 制浏览器本身的各个方面。使用j a v a s c r i p t ,可以显示关于链接的附加信息,创建 鼠标滚动效果,基于特定的条件改变页面的内容,在页面上随意地显示内容,将 内容加载到新的浏览器窗口和框架,以及( 需要c s s 的一定帮助) 在页面上移动元 素【2 5 】。 四、s e r v l e t 在j a v a 问世一年左右,s u n g l 入了s e r v l e t ,所i f l s e r v l e t 就是面向w e b 服务的应用 河南大学硕士研究生学位论文第3 页 组件。s e r v l e t 使得可以用j a v a 来编写w e b 应用,j a v a 代码不用再像a p p l c t 那样在客户 端浏览器中运行了,它可以在一个应用服务器上运行。s e r v l e t 秉承了j a v a 和虚拟机 环境的所有优点,而且相对于传统的c g i 程序,s e r v l e t 在虚拟机的一个实例中采用 一种多线程的方式执行,使其获得了额外的速度优势。然而,s e r v l e t 并不是十全十 美的。首先,使用s e r v l e t 设计用户界面比较困难,在典型的s e r v l e t 交互中,先要从 用户那里得到一些信息,完成某种作业的逻辑,然后使用p r i n t l n 命令创建h t m l , 来为用户显示结果。再者,s e r v l e t 很容易出错,很难生产可视化的效果,开发人员 不仅要编写业务逻辑,还必须考虑怎么创建一致的设计1 1 3 1 。 五、m a c r o m e d i af l a s h m a c r o m e d i a 的f l a s h 是一种采用压缩的矢量图形格式来播放交互式电影的系 统。利用f l a s h 设计人员可以创建丰富的动态应用,在w 曲上发布高度交互性的应 用,几乎与富客户应用相差无几。不同于a p p l e t ,s e r v l e t 和c g i 脚本,f l a s h 不需要 编程技巧,很容易使用。不过,f l a s h 需要客户端软件,尽管当前流行操作系统和 浏览器上都内置了播放f l a s h 所需的插件,也可以免费下载这些插件,但是由于很 多用户担心收到病毒的感染而拒绝安装插件。另外,下载f l a s h 应用需要大量的网 络带宽才能使用户在很短时间观看地到f l a s h 影片,否则需要很长时间来下载f l a s h 应用,如果用户的硬件设施不能满足的话也制约了f l a s h 的应用。 六、a j a x 5 】 a j a x 是一种客户端技术,不管使用的是j a v a ,n e t ,r u b y ,p 还是c g i 等 服务器端技术,都能够使用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 e b 开发技术的补充,优于传统w e b 程序之处在于它更强调用户体验。而这种体验的改 善是通过减少页面刷新,减少无必要的页面提交等获得的。其背后支撑的是早己 成熟的j a v a s c r i p t 技术和x m l h t y p 技术。a j a x 的核心理念是:在w e b 应用中增加 了一个中间层s c r i p t ,浏览器和服务器通过这个中间层s c r i p t 交互而不是像传统的 w 曲应用那样直接交互。 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 ”( 异步j a v a s c r i p t 和x m l ) , 是指一种创建交互式网页应用的网页开发技术。a j a x 技术是目前在浏览器中通过 j a v a s c r i p t 脚本可以使用的所有技术的集合。a j a x 并没有创造出某种具体的新技 术,它所使用的所有技术都是在很多年前就已经存在了,然而a j a x 以一种崭新的 方式来使用所有的这些技术,使得古老的b s 方式的w e b 开发焕发了新的活力。 第4 页河南火学硕士研究嫩学位论文 具体来说,a j a x 基予以下的技术: x 珏联l :对痤w 3 c 熬x 麟l 翘藏,霹纛是x 珏嘲l 1 。0 。 c s s :对成w 3 c 的c s s 规范,茸前怒c s s 2 0 d o m :这里的d o m 童黉是指h t m ld o m ,x m ld o m 包括在下面的x m l 中 j a v a s e f i p t :对应于e c m a 的e c m a s c r i p t 规范 x m l :鼹疫w 3 c 懿x 羚氛d o m 、x s l t 、x p a t h 等矮莲 x m l h t t p r e q u e s t ; 对应w h a t w g 的w e b a p p l i c a t i o n s l 0 撬范 ( h t t p :w h a t w g o r e , s p e c s w e b - a p p s c u r r e n t - w o r k ) 的部分 1 。2 国志外研究现状 g o o g l e ,微软等国际知名软件企业相继推出基于a j a x 的w 曲服务。2 0 0 4 年初 g o o g l e 公司撼窭了b e t a 舨零豹g m a i t 服务,它允许用户弱露打开多个邀子郏俘,港 瓣户写懿棒或读繇律时帮鬃既时有耨的稚俘戮来,繇律列表可良螽动更瓤并鬟承 有新邮件到来的消息。g o o g l e 以a j a x 技术替代功能强大却容易出异常的a e t i v e x 控件和j a v aa p p l e t ,在保持原有功能的撼础上实现了宪全的跨平台。依靠a j a x 技 零提供豹更麴睾富戆交互瞧,g o o l g es u g g e 或可激为趱户提撰与输入字莠稳簿豹疆 承,帮助谴稻完成想要键入的字符串。往收集了全球各地的卫星图片g o o g l ee a r t h 网站中运用了a j a x 技术,网页能够无缝地迅速转换到新的一页,用户在等待下载 更多数据时,孱幕不会出现任何间断。a j a x 会在互联嘲服务器和个人计算机之间 宠当缓净器,令远程调弱骚务过程交褥簿豢鞭杨,绘躅户一耱搽撵笼孛凝豹惑熬。 微软公司也推出代号为a t l a s 的a j a x 工鼹,该产品的客户端功能模块最终被定名为 微软a j a xl i b r a r y , 而服务器端的功能横块被称为a s p n e t2 0a 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 e h o l d i n g s ) 也采用了a j a ) ( 技术来减少其航空公司客户使用的飞行计划软 件的响应时间。企业通过使用a j a x ,可以强化网站的功能,提高用户体验。他们 w 以滚动屏纂测览丈量的绩息,或者方攥地把物品撬入在线购物擎,或者在线黼 鬟产品瑟无嚣不断趣裁薪瑟器。a j a x 溅经残茺一段箍动力,催生一系舞薹予嚣 联网的新服务,包括免费文字处理程序w d t e l y ,电予数据表制作网站n u m s u m ,以 及人们用于编制日程和工作时间表的网站v 0 0 2 d o 。逮魑使用a j a x 技术的网站的出 现,已经促使人们秀始重灏愚考互联网秘个入计算檄之阉熬关系。攀实上,a j a x 也许会导致许多基于个入谤算梳应嗣豹软俘遭到淘汰,迸面罨致计算辊行韭孛缀 多领域出现翻天覆地的变化。广受欢迎的图片共享网站f l i c k r 已缀采用了a j a x 技 河南大学硕士研究生学位论文第5 页 术,让用户可以及时为他们的照片加入标题和说明、及时把照片放进自己的收藏 影集,或者连续地观看照片。如果没有了a j a x ,f l i c k r 不可能像今天这么受欢迎, a j a x 技术的运用使f l i c k r 网站变得“更快、更酷、更有直觉力”。业界的分析师认为 a j a x 之所以重要是因为它使用户使用用浏览器直接与s o a 和w e bs e r v i c e 进行交 互,这是让用户获取w 曲s e r v i c e 和s o a 的最佳方法。而国内对a j a x 的研究刚刚开 始,可用的资料还比较少,但是已经有人在开发新的a j a x 应用框架。国内著名门 户网站网易,新浪的邮件系统已经采用了a j a x 极大减少了用户操作的响应时间。 1 3 论文的工作和组织结构 本文在分析了大量有关a j a x 的中外文献的基础上,结合所参与的科研及企业 项目动态w 曲程序中的a j a x 技术的应用,详细介绍了a j a x 技术的基础,以及 w e b g i s 的基本原理和技术基础。在介绍有关a j a x 技术的同时也提到了有关其在 跨测览器的安全性及脚本执行性能方面应用环境及优劣的问题。论文中详细列举 了在项目中应用a j a x 技术编写的联动选择框,树形控件等用户组件的设计与重 构。论文后半部分也着重介绍了w 曲g i s 与a j a x 技术的结合,以及如何利用a j a x 技术实现w g b g i s 客户端。 第一章介绍了w e b 2 0 的核心技术a j a x 的研究意义和目前的发展及应用。介绍 了运用a j a x 技术的企业级产品和开发实例,并关注国内外研究的现状。 第二章介绍了a j a x 的概念及技术构成,同时介绍了a j a x 的技术基础。 第三章介绍了a j a x 的工作原理,并对基于a j a x 的开发应用技术进行了探讨, 最后分析了采用”a x 技术的优势与劣势。 第四章介绍了动态w 曲应用实例- - p i c c 寿险公司h r 系统的功能和采用的技术 路线,以及与o a 系统,w 曲g i s 的整合。 第五章是文章主体部分,根据项目的要求,提出以a j a x 重构u i 组件,并在 w 曲g i s 中使用a j a x 技术以提高系统使用的效率,增强用户体验。 一、基于a j a x 技术的u i 组件的设计与实现 浏览器提供了两种输入机制:超链接和h t b l l 表单。表单提供了桌面应用的一 组基础u i 组件,比如文本框,单选按钮和多选按钮,及下拉列表。但仍然缺少可 用的树形控件,组合输入框等。a j a x 应用程序与传统的w e b 应用程序最大的不同之 处在于每一个用户交互并不会引起发送至w e b 服务器的h t t p 请求。相反, j a v a s c r i p t 中所执行的基于浏览器的逻辑会收到控制命令,确定是否本地处理请 求或者向服务器进行异步调用。针对服务器的异步调用完成的情况下,客户端逻 辑会恰当地更新u i 的相关部分。由于向服务器进行的基于x m l h t t p 的调用状态不 第6 页河南大学硕士研究生学位论文 会丢失,因此基于a j a x 技术的动态w e b 应用程序可以避免每次都更改u i 组件。浏 览器中的更多逻辑也可以减少客户端与服务器端访问的往返次数。a j a x 提供了无 需刷新页面便可向服务器传输或读写数据,在浏览器窗口中可有效保存上次用户 的选择数据并实现两级联动菜单。依靠a j a x 技术在页面内与服务器通信,使得构 建智能化的客户端控件成为可能。例如:数据表格,联动下拉选择框,类似桌面 文档管理功能的可动态改变结点的智能树形目录等各种复杂的控件。 二、基于a j a x 模式的w 曲g i s 实现分析 w e b g i s 的发展经历了不同的阶段,从最初的基于c g i 方法的w e b g i s 以来,中间 经历了基于s e r v e r a p i 方法,基于p l u g i n ( 插件) 方法,基于a c t i v e x 方法,基于 j a v aa p p l e t 方法再到基于a s p 和a s p n e t 方法等。每一种w e b g i s 技术都是同当时的 技术条件和基础密不可分。在以b s ( b r o w s e r s e r v e r ) 为结构的w e b g i s 中,w e b g i s 需要直接或间接通过浏览器实现g i s 的可视化功能。然而早期的c g i 和p l u gi n 方式 高度依赖浏览器特性的通用性不佳,如果使用j a v aa p p l e t 、a c t i v e x 组件虽然使 得功能增强,但由于系统的耦合度增加则会带来更多异常,并且a p p l e t 必须在浏 览器的j a v a 虚拟机中运行,开发人员必须确保在客户端上部署了相应的j a v a 版本 ”。而a j a x 技术的出现也为w e b g i s 的发展新提供了新的解决方案,可使得系统以异 步的方式发送请求,整个地图数据只需加载一次,服务器每次只返回需要更新的 局部数据,而不必每次刷新整个页面。这样既减少了信息量,同时响应的速度也 很快,而且使客户端更加轻量,因此我们在使用w e b g i s 时感觉就像使用桌面系统 一样轻松快捷,提高了用户体验度。 第六章总结全文后提出下一步研究的主要内容与方向,并分析了a j a x 未来的 应用前景,以及a j a x 技术在项目运用中的改进方向。 河南大学硕士研究生学位论文第7 页 第2 章a 3 a x 技术簿介 2 1a j a x 技术应用背景 随着i n t e m e t 的发展,电子商务,电子政务已经深入入街的霹鬻生活,个人遗 过i n t e m e t 搜索适合自己的商品,企业通过i n t e m e t 建藏自己的虚拟供应链来强化与 供应商的会作。访问量的增加将导致网站访问速度的下降,在现有的技术水平之 下,阚终逶识爨然是一传援徐亳暴事馈。蕴予鼹络爨溃豹逶绩豢在发送与接受数 据时在需要各自的系统的底层进行大黧的计算,网络的不稳定健,网络的延遐使 得网络用户越来越难以忍受。一个成功的计算机用户界面要能以最起码的水平模 拟我们在真实世界中的体验i l j 。 w e b 瘦鬻技本熬不瓤发震,久赛慰予i m e m e t 懿瞧铯要求氇越慕越褰,蟊今,焉 户已经不满建于像以前那样填写表单,点击“提交”按钮,然黯等待页面野转的 同步“请求响应”模试,他们需爨的是一种就像任何桌面应用程序那样流畅、 快捷和人性化的w e b 用产体验1 2 1 。桌蕊威用程序通常嚣要完全安装到客户端的机器 上,程序每次获骰豹蔓瑟与骖改蘩震癸在掰有客户漆程器主重赣逶行嫠簧。w e b 应用程序运行在w 曲服务器上,用户通过w e b 浏览器访问并调用,网站的管理者可 以随时更新系统并且只需要在服务器端次性部署即可。但是桌面应用程序所拥 有的功能誊鬻性和响应熊力似乎是目静w 曲所无法达到的。a j a x 技术的推出爱好 胃淤将两者静优势结合藤来,它菇溺鼙器提供了与敝务器端雾步透信静麓力,获 而克服“请求响应”模式的h t t p 协议的不足,使得通过浏览器访问远端网站调 用服务就象是可以即时响应的桌面应用程序一样。 选择a j a x 技术的主簧原因有下捌掰条: 一、遥道适当的a j a x 应用达翻瑟野的用户体验; 二、把以前的一些服务器负担的正作转移到客户端,利用客户端闲置的处理 能力来处理,减轻服务器和带宽的负掇,从而达到节约i s p 的空阐及带宽租用成本 的髫豹。 第8 页河南大学硕士研究生学位论文 2 2 a j a x 概述 2 2 1a j a x 定义 2 0 0 5 年2 月j e s s ej a m e s g a r r e t 提出了a j a x 这个概念,a j a x 是a s y n c h r o n o u s j a v a s c d p t a n dx m l 的缩写,即异步j a v a s c r i p t + x m l 。a j a x 并不是一门新的语 言或技术,它实际上是几项技术按一定方式的组合,在共同的协作中发挥各自的 作用,它包括:使用x h t m l 和c s s 标准化呈现;使用d o m 实现动态显示和 交互;使用x m l 和x s l t 进行数据交换与处理;使用x m l h m p r e q u e s t 进行异 步数据读取;最后用 j a v a s c f 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 是a j a x 技术的核心。 2 2 2a j a x 的关键元素 一、j a v a s e f i p t :j a v a s c f i p t 是通用的脚本语言,用来嵌入在某种应用中。w e b 浏览器中嵌入的j a v a s c r i p t 解释器允许通过程序与浏览器的很多内建功能进行交 互。a j a x 应用程序是使用j a v a s e r i p t 编写的。 二、c s s ( 层叠样式表) :c s s 为w e b 页面元素提供了一种可重用的可视化样 式的定义方法。它提供了简单而强大的方法,以一致的方式定义和使用可视化样 式。在a j a x 应用中,用户界面的样式可以通过c s s 独立修改。 三、d o m ( 文档对象模型) :d o m 以一组可以使用j a v a s c f i p t 操作的可编程对 象展现出w e b 页面的结构。通过使用脚本来修改d o m 。a j a x 应用程序可以在运 行时改变用户界面,或者高效地重绘页面中的某个部分。 四、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 对象允许w e b 程序员从w 曲服 务器以后台活动的方式获取数据。数据格式通常是x m l ,但是也可以很好地支持 任何基于文本的数据格式,如图2 1 所示: 河南大学硕士研究生学位论文第9 页 图2 - 1a j a x 技术各元素逻辑关系 2 3a j a x 技术基础 2 3 1x 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 t p r e q u e s t 对象发送请求和处理响应之前,必须先用j a v a s e 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 不是一个w 3 c 标准,所以可以采用 多种方法使用j a v a s c r i p t 来创建x m l h t r p r e q u e s t 的实例。i n t e r n e te x p l o r e r 把 x m l h t t p r e q u e s t 实现为一个a c t i v e x 对象,其他浏览器把其实现为一个本地 j a v a s e r i p t 对象。由于存在这些差别,j a v a s c r i p t 代码中必须包含有关的逻辑,从而 使用a e t i v e x 技术或者使用本地j a v a s c f i p t 对象技术来创建x m l h t t p r e q u e s t 的一 个实例睁1 。 在微软m 平台下x m l h t t p r e q u e s t 是x m l h t t p 组件的一个对象,它通过允 许开发人员在w e b 页面内部使用x m l h t t pa c f i v e x 组件扩展自身的功能,开发 人员可以不用从当前的w e b 页面导航而直接传输数据到服务器上或者从服务器取 第1 0 页河南大学硕士研究生学位论文 数据。这个功能是很重要的,因为它帮助减少了h t t p 无状态连接的带来的麻烦, 它还可以不必下载冗余的w 曲数据,从而提高有限网络带宽的利用率。当然在其 他w e b 浏览器平台下,例如m o z i l l a , k o n q u e r o r 和o p e r a 它们都创建了它们自己的 继承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 t p 组件很相似,方法和属性也类似,只是有一小部分属性不支持。代码 清单2 1 展示了一段简单创建x m l h t t p r e q u e s t 对象的代码。 代码清单2 - 1g e t x m l h t t p r e q u e s t ( ) 函数 f u n c t i o n g e t x m l h t t p r e q u e s t ( ) v a tx r e q u e s t = n u l l ; i f ( w i n d o w x m l h t t p r e q u e s t ) x r e q u e s t = n e wx m l h t t p r e q u e s t 0 ;- - m o z i l l a s a f a r i 浏览器 ) e l s ei f ( t y p e o f a c t i v e x o b j e c t ! _ u n d e f i n e d ) x r e q u e s t = n e w a c t i v e x o b j e e t ( m i c r o s o f t x m l h t t p ”) ;一i e 浏览器 r e t u r n x r e q u e s t ; 2 3 2x m l h t t p r e q u e s t 对象方法及属性 方法描述 a b o r t ( )停止当前请求 r e t a l l r e s o o n s e h e a d e r s o作为字符串返回完整h e a d e r s g e t r e s v o n s e h e a d e r ( “h e a d e r l a b e l ”1作为字符串返回单个的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 ,方法, l u s e r n a m e ”f 。硇a s s w o r d 1 1 1 1和其他参数 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 ”1设置h e a d e r 并和请求一起发送 完整的o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红酒评鉴考试题及答案
- 荔城市工匠评选活动方案
- 自助洗衣活动方案
- 海洋经济考试题及答案
- 贵族分类考试题及答案
- 估算法考试题及答案
- 幼儿园教学教案设计:安全过斑马线
- 钢琴作品考试题及答案
- 市场营销活动效果评估分析框架
- 公益投入参与行为承诺书5篇
- 基础教育教学成果奖评审组织实施方案
- 建行考试题目及答案
- Unit 1 第4课时 Section B 1a-2b 导学案-七年级英语上册
- 2026届上海市交通大学附属中学嘉定分校英语高三上期末联考模拟试题
- 小学二年级数学上册教材分析教学计划
- 第6课 从小爱科学 第1课时(课件)2025-2026学年道德与法治三年级上册统编版
- 学会自我保护课件教学
- 标准化作业管理制度
- 增值税纳税实务课件
- 2025年油气工程行业研究报告及未来发展趋势预测
- 跨境电商中消费者行为模式分析
评论
0/150
提交评论