思诚科技 seecen LOGO
咨询热线:0791-87557233
  首页 |   Java EE  
关于思诚
关注官方微信

Weblogic Portal中实现AJAX编程之架构

来源:网络    更新时间:2014-11-27


摘要

  门户应用程序非常适用于从多个源提取信息以及为包含门户Web应用程序的portlet提供应用服务。对于用户,portlet应用程序是独立的实体,类似于桌面上的窗口应用程序。如果在一个窗口应用程序中执行一项操作会导致其他所有应用程序中的内容被刷新,那又会怎么样呢?这就是当前大多数门户的情况。在一个portlet中通过页面流进行转移会导致整个Web页面被刷新,包括该页面上的其他所有portlet。

  为了避免出现这种有时不希望有的行为,Web开发人员采用了所谓Ajax-风格的编程方法。Ajax即异步Java和XML(AsynchronousJavaandXML),它是一个技术的集合,包括用于创建交互式Web应用程序的XHTML、CSS、JavaScript、DOM和XmlHttpRequest对象。本文将说明在BEAWebLogicPortal环境中使用Ajax编程方法的基本原理,并提供了一些最佳实践和建议,以避免新手Ajax程序员经常会犯的许多错误。

  Ajax简介

  考虑一个基于一些用户标准(比如街道地址、城市和州,)来绘制街道地图的Web应用程序。这类应用程序在用户界面中已经存在很多年了,并且很少有所改变。用户输入一个地址,然后单击一个按钮,页面中心就会显示周边区域的地图。用户通常需要缩小和放大以更清楚地显示周围区域,或者需要把地图向左或向右稍作移动,以找到一些能够帮助他们进行定位的主要街道或地界标。访问maps.yahoo.com或mapquest.com,便可以获得这种体验。来吧,试试这个地址:100EastWackerDriveChicago,IL

  最终,您将看到一幅芝加哥市区的地图,中心是Wacker和Michigan大街。在右方,您将看到一系列缩放级别,您可以从中选择一个。当选定一个缩放级别之后,会出现什么情况呢?整个页面将会刷新,这会花费相当长一段时间。现在,当您把地图向左或向右移动时,又会出现什么情况呢?您不可避免地会刷新整个页面,而整个地图需要再次下载。页面大小通常是75到100k,而平均的返回时间大约是3到10秒钟,这取决于您的网络连接速度。

  现在使用GoogleMaps进行同样的尝试,这是一个完全使用Ajax技术的站点。输入地址,然后单击Search。页面将完全显示出来。现在进行缩放。注意,地图之外的页面内容不会刷新。下面列出了这背后所发生的事情:
用户单击缩放控件。缩放控件调用一个JavaScript方法。JavaScript方法调用服务器来请求新的地图信息。服务器创建新的图像,然后将其发回给浏览器。浏览器使用新的图像数据替换现有的图像数据。用户在旧图像的位置看到新图像。  注意,地图上没有指示东西南北的箭头。用户如何与地图进行交互呢?只需像在一个滚动窗口中那样进行拖拉即可。试着单击地图的中心,然后把地图向左方拖动。注意拖动地图时地图是如何响应的!下面列出这背后所发生的事情:
用户把地图向左方拖动。Web页面使用它所下载的图像信息,而用户等待着页面根据客户端已经存在的数据重新绘制地图。如果预先没有检索到图像数据,浏览器将从服务器获得它所需要的附加信息(新出现的地图区域)。新的数据被添加至现有数据,并在浏览器中重新绘制出来。用户看见地图向右方滚动,就像是一幅真正的大图那样。  下面是使用Ajax技术所带来的好处:
客户端与服务器之间传输的数据量大大减少。可感知的系统响应时间大幅度缩短。由于反馈及时,用户感觉对应用程序的控制更加得心应手。用户喜欢这个站点,因为使用它可以提高他们的工作效率。用户将会再次访问站点,这样其竞争对手的客户就会减少。  上面对于Ajax风格的用户界面的演示令人印象深刻。(如果在使用GoogleMaps数天之后,您还不相信其竞争对手已经恼羞成怒,那么您就不必阅读本文下面的内容了。)

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

  Ajax所解决的门户问题

  • 上一篇文章:

  • 下一篇文章:
  •  

    0791-87557233

    重视每个来电 珍惜您的时间
    思诚者开发沙龙
    江西思诚科技有限公司  赣ICP备17006097号  CopyRight©2014 - 2018