我看AJAX

  • 格式:pdf
  • 大小:140.39 KB
  • 文档页数:2

S 

我看A J A X a 由于G00gIe和微软的关注,AJAX更是聚合了新的能量,带来了 WEB时代的暴风雨,成为越来越多的开发群体追逐的目标。 口张永峰 AJAX出现之前,WEB用户体验和用户 从桌面软件中得到的体验之间存在一个巨大 的鸿沟,而AJAX允许用户任意修改网页上 的要素而无需刷新整个页面,就能马上看到 修改的结果,这种全新的用户体验无疑正在 使这个鸿沟逐步缩小甚至消失。由于Google 和微软的关注,AJAX更是聚合了新的能量, 带来了WEB时代的暴风雨,成为越来越多的 开发群体追逐的目标。 我与AJAX不得不说的故事 作为技术人员,我们都想走在技术的最 前沿,因为这样永远不会被淘汰。当一项新 技术突起时,我们希望能有机会在实际项目 中应用它,和IT朋友同行们侃侃而谈该技术 具有如何的优势。然而,大部分技术人员并 没有这个追逐新技术的机会,更多的人在本 职岗位上做着自己熟悉的技术工作,可能心 里羡慕着那些研究新技术、为公司做技术储 备的同行们,同时慨叹着技术更新换代的速 度之快。 然而,AJAX给了所有踏踏实实做着成 熟技术的我们一次追逐时尚的机会,因为它 并不是一项新技术,而是将几种老技术进行 综合,披上了新的外衣,然而就如同陈年老 皿软件牡界2007.4.5 酒换了新瓶子一样,依然醇香而又爽心悦目, 让我们也着实跟着“时髦”了一把,虽然依 旧熟悉的技术,却让我们也在时下流行的潮 流趋势之中体验了一番。稍后,我将把项目 中使用AJAX的经验与大家一起分享,下面, 先让还没有机会体验AJAX的朋友简单了解 一下这个WEB开发领域中的宠儿。 AJAX初探 2005年2月18 Et,Adaptive Path公司 负责用户体验策略的主管杰西詹姆斯.力口勒 特(Jesse James Garrett)发表了一篇题为 《AJAX:一个WEB应用的新途径》的论文, 明确地将AJAX定义为Asynchronous JavaScript+XML,即异步的JavaScript 和XML处理。 虽然名字是全 新的,但是,其包含 的技术早已是非常成 熟的了,相信每位做 WEB开发的技术人 员都用过Java ̄'Tipt, 而XML更如HTML 一样被WEB开发者 所熟知。 NET,PHP等各个不同技术领域的WEB 开发中,带给了用户全新的体验,更是成为 客户端技术中颇具优势和吸引眼球的亮点。 我用AJAX 下面,我们通过具体的实际应用来体验 一下如何集成AJAX和Servlet,来增强 WEB应用的敏捷性和与用户动态交互的能 力,综合利用这两种分别处于客户端和服务 器端的技术,可谓是当前WEB应用中一个理 想的解决方案,该方案的框架图如图1所示。 AJAX的核心就是XMLHttpRequest对 象,与传统的请求/响应模式不同,AJAX 图1 AJAX与Servl

et的集成 维普资讯 http://www.cqvip.com 是通过AJAX ̄f擎与Servlet容器进行异步交互,而 这一交互机制的具体细节可以通过下面的序列图来 描述。 首先是通过JavaScript事件处理函数创建 XMLHttpRequest对象,该对象的创建根据不同浏 览器有不同的方式,当然,我们需要一个健壮的程序 来创建一个可以支持多浏览器的XMLHttpRequest 对象,它可以将用户在与浏览器交互过程中触发的 AJAX请求发送到服务器端的Servlet组件,但是, 一定要先进行相应的属性设置和方法调用,使其处 于正确的就绪状态下。 典型的AJAX请求发送函数实现了图2中由1到 7的一系列步骤。XMLHttpRequest对象的open() 方法实现了对服务器端的异步请求,而通过属性 onreadystatechange注册的回调函数则根据请求处 理的返回结果对页面进行相应更新,正是这种异步 的请求/响应模式避免了用户等待服务器端处理请 求的过程,提高了WEB应用的敏捷性和用户体验。 当Servlet的XMLP ̄]应到后,XMLHttpRequest 对象自动调用所注册的回调函数来处理响应回调函 数通过XMLHttpRequest的readyState属性值来判 断请求是否处理成功。如果处理成功,则通过 JavaScript协同DOM进行显示层的控制。 各位JAVA高手读到这里,也许会恍然大悟,更 会按捺不住要动手体验一番了。 作为一种技术积累,拓宽自己的技术领域,对 于我们的职业规划是很有好处的,而且,AJAX也 值得我们去下工夫研究一下,毕竟,有那么多人在使 用它,研究它。Google可能会错,微软可能会错,没 有理由全世界那么多人都错吧? 我看AJAX 经过两年的发展,AJAX已经开始走向成熟,尤 其是有了开发工具的支持,我们可以象使用.NET 和DELPHI ̄样实现快速开发AJAX应用。从现代 的软件开发思想、企业应用的角度来讲,AJAX开发 必将融合到成熟的软件开发过程中,形成完整的体系 支撑,才能在技术的浪潮中避免昙花一现的命运。 AJAX带来了WEB应用功能的大幅提升,因此 也必将直接导致应用模式的改变,使得更多的WEB 应用采用AJAX来实现。在其他技术领域的WEB 开发中(ASP.NET,PHP等),我们同样可以采用 相应的设计策略将AJAX与服务器端技术结合起 来,既充分发挥了服 务器端的处理优势, 也提高了客户端的灵 敏程度,提高了用户 体验。 当然,这要看你 的项目需要和技术储 备能量了,在一些特 殊处理上,AJAX具 有相当的魅力。 当然,AJAX也 有自身的缺陷,比如: 技术上涉及的内容比 较多,需要开发者非 常熟练地使用 —千宦曩 , 一—『 弋 2●1 I一 ~ 镯 _ ・tl',ll r置圆西面 J 8 “●Y ‘ nP■● 4 , 存■ 9■—虚庠,●他,●州 I l 10 t西 一 。 目 l f U Y rf I 1 1 l ! ! 图2 AJAX与Servlet之间的异步交互 JavaScript,而就目前的浏览器级脚本预编译技术, 脚本的运行效率也是个不容忽视的问题;而当需要处 理庞大数据时,XML的效率也可能成为瓶颈。 如果,你在实际项目中做过AJAX的应用,一 定会知道这其中要考虑的问题,跨 览器,安全,性 能,程序鲁棒性,每一个都不是简单就能解决的。 一项技术的出现和火热,必然有它值得用的地 方,正如哲学上所言:存_在即有道理。 B/S应用之所以流行,是因为它对客户端的 要求最小,避免了C/S由分发方式而导致的更 新、版本同步等诸多问题,但是B/S的用户体 验一直不理想,而AJAX恰好弥补了这个缺憾。 AJAX中存在的问题也正说明了它得到了广泛的 关注,有人去提出它的问题,才能体现这个技术 正在引起大家注意。 最后,我想从技术人员的角度来谈谈由AJAX 而产生的心理触动。诚然,存在即有道理,然而,没 有道理的是我们为什么忽视了它?到了现在,也许 很多技术人员会说,“原来AJAX也没什么新鲜的, 只不过是把JavaScript用好一点罢了”,然而,为 什么同样的技术,有人能写出Gmail这样的应用, 而有人只能写出HelloWofld呢?我们需要的不是 冷眼旁观,不是议论孰优孰劣,而是专注与钻研。 我想,从来就没有高深的技术,不管多么新的 技术,一般的技术人员总能搞出个子丑寅卯来,然而 缺乏的正是专注与钻研。了解很容易,熟悉也不难, 但精通呢?敦 | ll 警一 ll 謦麓攘 _ 鼍 i 囊 --0 寺 s.nletlMI盎曩功簟 ll ≯s_ 岫性褰 糯畿手虹 i 蹙秘 ≈《●嘲 生鼢嗨 § 内襄.建譬懑 一 磐户一囊案 装警骧菇簟 穰务誓将请隶樯童爱趱萋 一 ,s_vl-罐=|IiI喊窿I驽I 并将 --萁传蛤8n-.壤应内簿 态生 域,蘧需取决等蜜户簟的请求, 删嘲糊蜩fI蕾 曩. I Software World 2007.4.5皿

 维普资讯 http://www.cqvip.com