linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > JAVA >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·Ajax实现在textbox中模糊查询显
·Ajax实现分页查询
·JAVA反编译工具jad的简单用法
·基于Spring+Hibernate+Eclip
·java定时执行的三种方法
·读取数码照片中的Exif信息
·JSP获取客户端的浏览器和操作系
·Java文件操作大全
·Java中利用通讯API编写短信软件
·JAVA技术:上传图片的缩放处理
·利用Java实现网页浏览器
·Java编程基础
·Java调用Oracle的过程和函数
·JAVA得到网卡物理地址(Windows
·NetBeans vs Eclipse之性能参数
最新文章
·实例解析:Linux操作系统下Jav
·JAVA得到网卡物理地址(Windows
·Ajax实现在textbox中模糊查询显
·Ajax简单示例之改变下拉框动态
·AJAX如何与后台交互
·Ajax实现分页查询
·Ajax核心:XMLHTTP组件相关技术
·面向Java程序员的Ajax:构建动态
·JSP获取客户端的浏览器和操作系
·提高Java技能的几种简单有效的
·敏捷开发中需掌握移除重复代码
·Java中利用通讯API编写短信软件
·关于String和StringBuffer
·用Java得到硬盘空间
·如何优化JAVA程序设计和编码,
Google
 
面向Java程序员的Ajax:构建动态Java程序
[ 作者:  加入时间:2007-11-12 16:38:29  来自:Linux联盟收集整理 ]
Ajax(即异步 JavaScript 和 XML)是一种 Web 应用程序开发的手段,它采用客户端脚本与 Web 服务器交换数据。所以,不必采用会中断交互的完整页面刷新,就可以动态地更新 Web 页面。 使用 Ajax,可以创建更加丰富、更加动态的 Web 应用程序用户界面,其即时性与可用性甚至能够接近本机桌面应用程序。 rPnLinux联盟
   rPnLinux联盟
    Ajax 不是一项技术,而更像是一个 模式 —— 一种识别和描述有用的设计技术的方式。Ajax 是新颖的,因为许多开发人员才刚刚开始知道它,但是所有实现 Ajax 应用程序的组件都已经存在若干年了。它目前受到重视是因为在 2004 和 2005 年出现了一些基于 Ajax 技术的非常棒的动态 Web UI,最著名的就是 Google 的 GMail 和 Maps 应用程序,以及照片共享站点 Flickr。这些用户界面具有足够的开创性,有些开发人员称之为“Web 2.0”,因此对 Ajax 应用程序的兴趣飞速上升。 rPnLinux联盟
   rPnLinux联盟
    在这个系列中,我将提供使用 Ajax 开发应用程序需要的全部工具 。在第一篇文章中,我将解释 Ajax 背后的概念,演示为基于 Java 的 Web 应用程序创建 Ajax 界面的基本步骤。我将使用代码示例演示让 Ajax 应用程序如此动态的服务器端 Java 代码和客户端 JavaScript。最后,我将指出 Ajax 方式的一些不足,以及在创建 Ajax 应用程序时应当考虑的一些更广的可用性和访问性问题。 rPnLinux联盟
   rPnLinux联盟
    更好的购物车 rPnLinux联盟
   rPnLinux联盟
    可以用 Ajax 增强传统的 Web 应用程序,通过消除页面装入从而简化交互。为了演示这一点,我采用一个简单的购物车示例,在向里面添加项目时,它会动态更新。这项技术如果整合到在线商店,那么用户可以持续地浏览和向购物车中添加项目,而不必在每次点击之后都等候完整的页面更新。虽然这篇文章中的有些代码特定于购物车示例,但是演示的技术可以应用于任何 Ajax 应用程序。清单 1 显示了购物车示例使用的有关 HTML 代码,整篇文章中都会使用这个 HTML。 rPnLinux联盟
   rPnLinux联盟
    清单1. 购物车示例的有关片断 rPnLinux联盟
   rPnLinux联盟
  <!-- Table of products from store's catalog, one row per item --> rPnLinux联盟
  <th>Name</th> <th>Description</th> <th>Price</th> <th></th> rPnLinux联盟
  ... rPnLinux联盟
  <tr> rPnLinux联盟
  <!-- Item details --> rPnLinux联盟
  <td>Hat</td> <td>Stylish bowler hat</td> <td>$19.99</td> rPnLinux联盟
  <td> rPnLinux联盟
  <!-- Click button to add item to cart via Ajax request --> rPnLinux联盟
  <button onclick="addToCart('hat001')">Add to Cart</button> rPnLinux联盟
  </td> rPnLinux联盟
  </tr> rPnLinux联盟
  ... rPnLinux联盟
   rPnLinux联盟
  <!-- Representation of shopping cart, updated asynchronously --> rPnLinux联盟
  <ul id="cart-contents"> rPnLinux联盟
   rPnLinux联盟
  <!-- List-items will be added here for each item in the cart --> rPnLinux联盟
   rPnLinux联盟
  </ul> rPnLinux联盟
   rPnLinux联盟
  <!-- Total cost of items in cart displayed inside span element --> rPnLinux联盟
  Total cost: <span id="total">$0.00</span> rPnLinux联盟
    Ajax 往返过程 rPnLinux联盟
   rPnLinux联盟
    Ajax 交互开始于叫作 XMLHttpRequest 的 JavaScript 对象。顾名思义,它允许客户端脚本执行 HTTP 请求,并解析 XML 服务器响应。Ajax 往返过程的第一步是创建 XMLHttpRequest 的实例。在 XMLHttpRequest 对象上设置请求使用的 HTTP 方法(GET 或 POST)以及目标 URL。 rPnLinux联盟
   rPnLinux联盟
    现在,您还记得 Ajax 的第一个 a 是代表 异步(asynchronous) 吗?在发送 HTTP 请求时,不想让浏览器挂着等候服务器响应。相反,您想让浏览器继续对用户与页面的交互进行响应,并在服务器响应到达时再进行处理。为了实现这个要求,可以在 XMLHttpRequest 上注册一个回调函数,然后异步地分派 XMLHttpRequest。然后控制就会返回浏览器,当服务器响应到达时,会调用回调函数。 rPnLinux联盟
   rPnLinux联盟
    在 Java Web 服务器上,请求同其他 HttpServletRequest 一样到达。在解析了请求参数之后,servlet 调用必要的应用程序逻辑,把响应序列化成 XML,并把 XML 写入 HttpServletResponse。 rPnLinux联盟
   rPnLinux联盟
    回到客户端时,现在调用注册在 XMLHttpRequest 上的回调函数,处理服务器返回的 XML 文档。最后,根据服务器返回的数据,用 JavaScript 操纵页面的 HTML DOM,把用户界面更新。图 1 是 Ajax 往返过程的顺序图。 rPnLinux联盟
   rPnLinux联盟
  图 1. Ajax 往返过程 rPnLinux联盟
   rPnLinux联盟
    现在您对 Ajax 往返过程有了一个高层面的认识。下面我将放大其中的每一步骤,进行更详细的观察。如果过程中迷了路,请回头看图 1 —— 由于 Ajax 方式的异步性质,所以顺序并非十分简单。 rPnLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Ajax-JavaScript-namespace  (2007-11-02 14:01:16)
 ·使用AJAX开发你自己的RSS在线阅读器  (2007-11-02 14:00:05)
 ·ajax-javascript-范围链、call对象与闭包  (2007-11-02 13:57:13)
 ·用Ajax 1.0制作一个按钮提交后UpdatePanel动画  (2007-10-26 13:24:53)
 ·让 SortTable 和 Asp.net Ajax 和睦相处  (2007-10-26 13:21:44)
 ·Jimmy’s 使用Asp.Net Ajax 构建三层式Web 应用程序  (2007-10-26 13:14:20)
 ·asp.net 2.0 ajax中使用PopupControlExtender  (2007-10-26 13:13:35)
 ·asp.net 2.0 ajax中实现弹出窗口报警提示  (2007-10-26 13:12:27)
 ·基于AJAX的ASP.NET聊天室 & 如何建立共识  (2007-10-26 12:29:28)
 ·理想的 ASP.NET AJAX完全版  (2007-10-26 12:07:39)