注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发AJAX → 文章内容

在BEA WEBLOGIC PORTAL中进行AJAX编程,第1部分

作者:佚名 来源:不详 发布时间:2007-12-10 22:48:17

  用户把地图向左方拖动。 Web页面使用它所下载的图像信息,而用户等待着页面根据客户端已经存在的数据重新绘制地图。 如果预先没有检索到图像数据,浏览器将从服务器获得它所需要的附加信息(新出现的地图区域)。 新的数据被添加至现有数据,并在浏览器中重新绘制出来。 用户看见地图向右方滚动,就像是一幅真正的大图那样。

  下面是使用Ajax技术所带来的好处:

客户端与服务器之间传输的数据量大大减少。 可感知的系统响应时间大幅度缩短。 由于反馈及时,用户感觉对应用程序的控制更加得心应手。 用户喜欢这个站点,因为使用它可以提高他们的工作效率。 用户将会再次访问站点,这样其竞争对手的客户就会减少。

  上面对于Ajax风格的用户界面的演示令人印象深刻。(如果在使用Google Maps数天之后,您还不相信其竞争对手已经恼羞成怒,那么您就不必阅读本文下面的内容了。)

  有关Ajax的完整介绍,请阅读An Introduction to Ajax(中文版,dev2dev,2005年11月)。

Ajax所解决的门户问题

  考虑那些大量使用Java applet而且希望利用其现有资产创建门户的潜在客户。把现有applet和其他页面流包装到portlet容器中是一件很简单的事情,但是也要考虑到进行门户测试时会出现哪些问题。例如,某个porlet中的一个动作会导致刷新以及随后的重新加载,并重新初始化页面上其他所有基于applet的portlet。如果所讨论的applet具有后端连接,那么portlet的重新初始化将导致服务器丢弃现有连接,然后强制applet重新进行连接,这不仅加重了服务器的负担,而且会使门户用户看到几秒钟的“静止时间”,在这段时间内,基于applet的portlet必须保持灰色,一直到它们完成初始化为止。

  这显然是一个潜在的瑕疵。告诉客户们重写所有的applet,因为基于JSP的应用程序并非有用的响应,尤其是对于已经在现有资产中投入大量资源的客户来说。此外,门户必须帮助客户包装现有的应用程序,而不是强迫他们重写整个系统。

  我们需要一种让单个portlet在不引起页面刷新的情况下进行操作或获得新数据的方法。虽然这显然存在一些不利之处(我将在本文后面讨论这些),但是在这种情况下,把避免页面刷新作为使用门户的进入屏障是完全有必要的。

  注:对于这个问题,一个可行的解决方案是iframes,也就是inline frames,一种基于浏览器的机制,它可以使屏幕的一块区域变为独立的实体,当页面重新加载时它不会刷新。使用类似于Ajax编程中所使用的技术,我们可以使用XML-RPC进行服务器调用,从而获取数据并将其加载到DOM文档中。Apple的开发者Web站点上有一篇文章非常好地总结了这种方法的优点和缺点。我确信,关于为什么iframes更好或Ajax更好,双方的支持者已经进行过精彩的辩论,但是Ajax已经流行开来,而iframes则没有。因此,本文只介绍了Ajax,而没有就iframes进行讨论。


更多内容请看PCdog.com--Ajax技术专题
上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved