AJAX与J2EE的新型结合 提升用户体验(1)

发表于:2007-06-11来源:作者:点击数: 标签:
在传统的Web应用模型下,用户在浏览器触发一个动作,最典型的情况是提交一个表单或点击一个超链接。客户端浏览器根据当前页面状态向Web 服务器 发出HTTP请求。服务器接收到请求后,分析请求内容,进行数据处理等一些操作之后,将一个响应返回给客户端。浏览

在传统的Web应用模型下,用户在浏览器触发一个动作,最典型的情况是提交一个表单或点击一个超链接。客户端浏览器根据当前页面状态向Web服务器发出HTTP请求。服务器接收到请求后,分析请求内容,进行数据处理等一些操作之后,将一个响应返回给客户端。浏览器则根据响应的内容刷新用户界面。

自从HTTP协议诞生以来,我们的Web应用一直都使用这样的模式(如图1所示)。

图1:传统网络应用模型与AJAX网络应用模型比较

所以,使用者每做一个动作,都要反复经过“请求—处理—响应—刷新”这一漫长的等待过程,以至于人们将WWW(world wide web)戏称为World Wide Wait。

在这一问题上,Applet等传统的解决方案在一定程度上缓解了B/S构架下Web应用在客户浏览器端的响应速度问题,但是Applet有众所周知的缺点:它们加载速度缓慢且不很稳定。

而Google Gmail给了我们完全不同的体验。你无法感受到页面的跳转,系统反应非常快。

获取新邮件不需要手动或者自动的刷新浏览器。这一切给人的感觉是那么友好,以至于它一经推出便得到了众多用户的宠爱,并同时成为Sina,Yahoo等邮件提供商的追赶对象。

在“Google Suggest(Google建议)”中,用户输入后,显示建议的动作几乎是瞬间完成的。再看看“Google Maps”的放大功能,鼠标的动作也几乎是立即被响应的,不用等待页面刷新。“Google Suggest”和“Google Maps”也是采用AJAX技术的两个典型例子。

AJAX是Asynchronous JavaScript and XML的简称,是最新的网络客户端综合技术,可以在B/S构架下实现富客户端,可用于构建面向异步消息的无刷新的网络应用,它使我们网络应用的模式发生根本转变。

J2EE是SUN公司定义的用于开发和运行企业级Web应用的一个标准,可用于开发大型、多层次以及分布式的企业级Web应用。

J2EE技术为组件开发提供了广泛的支持,同时也提供了丰富的开发工具和服务,便于开发模块化的、可重用和跨平台的业务逻辑。

计算机监控系统Web查询模块正是将AJAX在表示层的魅力与J2EE在服务器端的强大支持结合起来而建立的全新的一种Web应用。

AJAX实现的条件

AJAX所使用的技术并不是全新的,在Windows平台的Internet Explorer浏览器中这些技术已经存在了很长时间。XMLHTTPRequest对象并不是JavaScript正式规范中的一部分,但是正是目前的主流浏览器都开始支持XMLHTTPRequest对象,才使得AJAX真正流行起来。同时,XML和HTML文档对象模型规范的制订也是AJAX技术得以应用的重要因素。

AJAX的技术核心

核心请求对象

在AJAX技术中,对象是与后台交互的核心,正是有了主流浏览器对核心请求对象的支持,才使得我们可以使用AJAX在B/S结构上构建如此强大的网络应用。但是,它并不是一个W3C规定的标准技术,所以在不同的浏览器上,创建核心请求对象的方式不尽相同。不过可以使用简单的判断语句保证在浏览器支持的情况下正确得到该对象。

解析响应数据

在产生用户界面之前,首先要从XML格式的响应中解析出需要的数据,目前的主流浏览器都支持XML DOM的规范,如Mozilla和Microsoft都在它们的浏览器中实现了这个规范,所以我们只需要使用JavaScript标准的DOM对象就可解析从服务器端返回的XML格式的数据。

动态渲染交互式Web界面

在AJAX中服务器对客户端响应的内容格式中只包含了XML格式的数据,这使得网络中交换的几乎都是有效数据,传输效率大大提高。但是,最终展现在客户端的不能仅仅是数据。

在原来的网络应用模型中,本应由服务器承担的生成界面元素的任务,在这里将由Java-Script使用DHTML的文档对象模型来完成。这当中不仅包括表格、表单、各种格式的媒体元素的生成、布局,也包括对用户操作事件的响应。

W3C规定了DHTML的文档对象模型的标准,我们可以很容易得到HTML页面中的元素的引用,之后就可以根据从对象中取得的数据,通过新建、插入、删除页面元素等方法构建整个用户界面。

目前存在的问题和缺陷

AJAX是我们能够构建全新的网络应用,但是目前它也确实存在一些问题和缺陷:

由于需要对新版本的JavaScript支持,如果浏览器不支持或者禁用了的JavaScript脚本,AJAX应用将不能被正常工作;

大部分工作是由JavaScript完成的,编码和调试工作难度比较大;

由于AJAX中使用JavaScript作为在客户端执行的脚本,源代码对客户端是可见的,这可能会带来一定的安全问题;

由于页面上的操作通过JavaScript方法调用来完成,使用AJAX开发的页面中几乎没有一个链接,对于现代爬虫式的搜索引擎来说,没有链接就像是失去了路标,无法对网络进行搜索,所以目前使用AJAX技术的页面对搜索引擎的支持不好。


共2页: 1 [2] 下一页

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
...