您现在的位置: IT专家网 > Web服务子站 > WebService开发
面向开发人员的Ajax: 动态Java应用程序
在Web应用程序开发中,页面重载循环是最大的一个使用障碍,对于Java?开发人员来说也是一个严峻的挑战。
Ajax往返过程
Ajax交互开始于叫作XMLHttpRequest的JavaScript对象。顾名思义,它允许客户端脚本执行HTTP请求,并解析XML服务器响应。Ajax往返过程的第一步是创建XMLHttpRequest的实例。在XMLHttpRequest对象上设置请求使用的HTTP方法(GET或POST)以及目标URL。
现在,您还记得Ajax的第一个a是代表异步(asynchronous)吗?在发送HTTP请求时,不想让浏览器挂着等候服务器响应。相反,您想让浏览器继续对用户与页面的交互进行响应,并在服务器响应到达时再进行处理。为了实现这个要求,可以在XMLHttpRequest上注册一个回调函数,然后异步地分派XMLHttpRequest。然后控制就会返回浏览器,当服务器响应到达时,会调用回调函数。
在Java Web服务器上,请求同其他HttpServletRequest一样到达。在解析了请求参数之后,servlet调用必要的应用程序逻辑,把响应序列化成XML,并把XML写入HttpServletResponse。
回到客户端时,现在调用注册在XMLHttpRequest上的回调函数,处理服务器返回的XML文档。最后,根据服务器返回的数据,用JavaScript操纵页面的HTML DOM,把用户界面更新。图1是Ajax往返过程的顺序图。

图1. Ajax往返过程
现在您对Ajax往返过程有了一个高层面的认识。下面我将放大其中的每一步骤,进行更详细的观察。如果过程中迷了路,请回头看图1——由于Ajax方式的异步性质,所以顺序并非十分简单。
分派XMLHttpRequest
我将从Ajax序列的起点开始:创建和分派来自浏览器的XMLHttpRequest。不幸的是,不同的浏览器创建XMLHttpRequest的方法各不相同。清单2的JavaScript函数消除了这些依赖于浏览器的技巧,它可以检测当前浏览器要使用的正确方式,并返回一个可以使用的XMLHttpRequest。最好是把它当作辅助代码:只要把它拷贝到JavaScript库,并在需要XMLHttpRequest的时候使用它就可以了。
- 本文关键词:

