专利名称:用于提供异步门户页的方法和系统的利记博彩app
技术领域:
本发明涉及门户技术,更具体地涉及一种用于提供异步门户页的系统和方法。
背景技术:
随着因特网越来越普及,人们不断地开发出更好的技术来显示web内容。在这方面,门户服务器已成为一种用于向用户提供web内容的优选技术。一般而言,门户服务器是一种用于将web内容组织成为由门户组件(portlet)组成的门户页的门户程序(例如,纽约Armonk的国际商业机器公司所提供的WebSphere门户服务器)。用户例如可以建立他/她自己的具有用于新闻、天气、体育等门户组件的门户页。于是门户程序将从适当的内容提供者获取所需的web内容,组合这些web内容,并为终端用户生成门户页。
传统的web应用允许用户填充网页上的表单,并且当这种表单被提交时,web浏览器就向web服务器发送请求。web服务器处理通过表单发送的任何信息,并以新的网页响应web浏览器。这样可能会浪费大量带宽,因为在第二个网页中可能包含第一个网页中的大量web内容。由于在与应用的每次交互时都要向web服务器发送请求,应用的响应时间就取决于web服务器的响应时间。这样,web应用的用户界面就会比本机应用的用户界面慢得多。
在现有技术中,门户系统也是这样一种传统的web应用。每当用户提交门户组件上的表单时,门户服务器就发送一个新的门户页来作为响应。但事实上,并不需要发送该门户页中其他门户组件的web内容。仅重新加载用户正在与之交互的门户组件的web内容就足够了。
为了满足刷新页面的一部分、而不是在用户与应用的每次交互时都刷新整个页面的需要,人们开发了一种称为AJAX(异步JavaScript和XML)的用于异步web的新兴技术。在AJAX应用中,当用户提交页面中的表单时,不再是由web浏览器直接向web服务器发送HTTP(超文本传输协议)请求,而是由驻留在web浏览器上的一般为JavaScript的脚本程序接收用户请求,接着由该脚本程序在后台通过一种称为XMLHTTP(扩展标记语言HTTP)的API(应用程序接口)向web服务器发出XMLHTTP请求,以便仅检索所需的web内容而不是整个页面,并在接收到来自web服务器的响应时进行处理以部分地更新页面。这样应用的响应就更快了,因为在web浏览器和web服务器之间交换的数据量大大减少了。同时也节省了web服务器的处理时间,因为现在大量的处理是在客户端进行的。
目前门户组件开发者可以使用AJAX来开发门户组件,从而提供异步的门户程序。但现在最流行的门户组件编程模型都是基于非AJA利记体育(例如,JSR168)的,并且几乎所有现有的门户组件都是以这种方式开发的。因此通过使用AJAX来开发门户组件的解决方案将会存在以下缺点1)使用新的AJAX要求以全新的方式来编写门户组件,而重新编写数以百万计的现有的门户组件,这几乎是不可能的。
2)门户组件开发者本来只需专注于门户组件的逻辑,而使用AJAX进行开发将使开发者不得不关心大量编程细节,从而增加了开发的复杂性。
另一种用于提供异步门户页的解决方案是使用HTML中的“IFrame”(内框架)标记,该IFrame可在另一HTML页内的任何地方显示整个HTML页。可单独地加载和操作IFrame中的页。这样,通过把门户组件与IFrame相结合就可实现门户组件的异步更新。但是,这种解决方案存在以下缺点1)IFrame的尺寸是不可改变的。如果它的尺寸对于其内容来说太小,就会出现滚动条。这意味着当门户组件的web内容改变时,却无法动态地调整门户页的布局。
2)IFrame中的所有网页是分离的,这样就无法共享任何共同的资源(例如,CSS、图像等)。而是必须重复地下载同样的资源。
考虑到以上情况,显然需要一种用于提供异步门户页的系统和方法。特别地,需要一种用于在门户组件是使用传统web技术开发的(即基于同步刷新技术的编程模型开发的)的门户系统中提供异步门户页的系统和方法。
发明内容
一般而言,本发明提供了一种用于提供异步门户页而不改变传统的门户组件编程模型的系统和方法。
根据本发明的一个方面,提供了一种用于在一门户系统中提供异步门户页的方法,其中所述门户系统中的门户组件是使用基于同步刷新技术的编程模型开发的,该方法包括以下步骤响应于用户对一门户页/门户组件的请求,客户端的门户组件监控器向门户服务器发送一XMLHTTP请求;响应于该XMLHTTP请求,门户服务器调用相应的门户组件获得相应的web内容;修改所述web内容以将其中的HTTP请求重定向到XMLHTTP请求;以及客户端的门户组件监控器以所述修改后的web内容刷新所述门户页中相应的门户组件的web内容。
优选地,该方法还包括一初始化步骤,响应于来自客户端web浏览器的用户对一门户页的请求,门户服务器将所述门户组件监控器下载到客户端。
优选地,所述初始化步骤包括以下步骤web浏览器向门户服务器发出对一门户页的请求;门户服务器向web浏览器返回带所述门户组件监控器的门户页;客户端的门户组件监控器向所述门户服务器异步地发送XMLHTTP请求以获得各相应门户组件的web内容;修改所述web内容,以将其中的HTTP请求重定向到XMLHTTP请求;以及客户端的门户组件监控器以所述修改后的web内容分别加载门户页中各门户组件并最后显示整个门户页。
优选地,所述初始化步骤包括以下步骤web浏览器向门户服务器发出对一门户页的请求;门户服务器调用各门户组件以获得所述门户页中所有门户组件的web内容;修改所有门户组件的web内容以将其中的HTTP请求重定向到XMLHTTP请求,并将所有门户组件的web内容组织一门户页;以及向web浏览器返回带有所述门户组件监控器的门户页。
优选地,所述门户组件监控器由嵌入所述web内容中的脚本来实现。
优选地,所述门户组件监控器由单独的脚本文件来实现。
优选地,所述修改步骤是在所述门户服务器上执行的。
优选地,所述修改步骤是由客户端的门户组件监控器完成的。
优选地,所述修改步骤包括HTML部分的重写和脚本部分的重写。
优选地,所述修改步骤包括以下步骤对于所有的HTML链接标记,如果它指向一Action URL,则以特定的脚本函数调用替换其“href”属性;对于所有的HTML表单标记,如果其“action”属性等于一ActionURL,则以特定的脚本函数调用替换该“action”属性;对于任何使用“GET”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它;以及对于任何使用“POST”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它。
根据本发明的另一个方面,提供了一种门户系统,包括门户服务器,该门户服务器包括门户组件服务模块用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;以及至少一个基于同步刷新技术的编程模型开发的门户组件,用于处理来自门户组件服务模块的请求并向其提供相应的web内容;客户机,包括驻留于web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户服务器发送XMLHTTP请求,以及用于以来自所述门户服务器的响应中的web内容刷新所述门户页中相应的门户组件的web内容;以及web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
根据本发明的再一个方面,提供了一种用于提供异步门户页的系统,包括门户服务器侧的门户组件服务模块用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;驻留于客户端web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户服务模块发送XMLHTTP请求,以及用于以来自所述门户服务模块的响应中的web内容刷新所述门户页中相应的门户组件的web内容;以及web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
由以上可以看出,在本发明中,提供了驻留在web浏览器上的、由脚本(例如,JavaScript或VBScript)实现的门户组件监控器。当用户与门户组件交互时,门户组件监控器就向门户服务器发送XMLHTTP请求。门户服务器根据该请求从相应的门户组件获得相应的web内容。然后,修改该web内容,以将其中的HTTP请求重定向为XMLHTTP请求,并作为响应将其发送给门户组件监控器。门户组件监控器使用该修改后的web内容刷新门户页中相应的门户组件的web内容,从而无需重新加载整个门户页。此外,在用户就一门户组件提交请求之后,在等待该门户组件的内容被刷新这段时间里,用户可以继续与其他门户组件进行交互。于是,本发明具有局部刷新、异步通信的功能。并且,由于本发明是通过在运行时将门户组件的web内容中的HTTP请求重定向为XMLHTTP请求而不是对门户组件本身进行修改,于是可以利用现有的数百万计的门户组件。一般来说,本发明将会带来以下优点。
本发明可以提供具有良好响应性的门户页,这种良好响应性是通过局部刷新、异步通信而获得的。这样的门户页称为异步门户页。
门户页中的所有门户组件由于处于同一网页中,因而可以共享任何共同的资源而不用重复下载。
本发明可以将基于传统web技术的门户组件集成为异步门户页。门户组件开发者无需使用AJAX重写它们。
作为一种可插接模块,本发明可以容易地在现有门户服务器上实现。该模块对于门户组件开发者是透明的。
通过参照附图阅读以下对本发明的实施例的详细描述,可获得对本发明的完整理解。在附图中图1是根据本发明的优选实施例的门户系统的方框图;图2是根据本发明的优选实施例的用于提供异步门户页的方法的流程图;图3a是示出了根据本发明的一个优选实施例的门户页初始化机制的序列图;图3b是示出了根据本发明的另一个优选实施例的门户页初始化机制的序列图;以及图4是示出了根据本发明优选实施例的异步交互机制的序列图。
具体实施例方式
本公开提出了一种用于提供异步门户页的系统。在图1和图2中分别示出了根据本发明的优选实施例的门户系统的方框图和用于提供异步门户页的方法的流程图。
现在参照图1,其示出了一种根据本发明的优选实施例的门户系统。如图所示,该门户系统包括门户服务器104和客户机103。门户服务器104包括三部分启动器105、门户组件服务模块106、和一个或多个门户组件107。这些门户组件是使用基于同步刷新技术的编程模型开发的(例如,JSR168)。客户机103包括驻留在web浏览器上的门户组件监控器102。根据本发明的一个实施例,门户服务器104还包括用于重写web内容的装置(以虚线示出)。根据本发明的另一个实施例,所述用于重写web内容的装置位于客户端(以虚线示出)。
门户组件监控器102可以由驻留于web内容中并在web浏览器上运行的脚本(例如,JavaScript或VBScript)实现的。它具有至少两个功能,即向门户服务器104发送XMLHTTP请求,以及在不刷新整个门户页的情况下,以来自门户服务器104的响应中的web内容替换某个需要更新的门户组件的web内容。门户组件服务模块106的功能是根据门户组件监控器102的请求从门户组件107获得web内容,并向门户组件监控器102发送该web内容作为响应。启动器105用于在用户初始请求门户页时向客户端下载门户组件监控器102以及门户组件配置文件等,其中配置文件提供了各门户组件的ID、布局以及风格等信息。门户组件107用于处理来自门户组件服务模块106的请求并向其提供web内容。所述用于重写web内容的装置用于将从门户服务器104返回到客户端的web内容中的传统的HTTP请求重定向到XMLHTTP请求。值得注意的是,该装置既可以在门户服务器104中由单独的组件实现,或由门户组件服务模块106实现,也可以在客户端由单独的组件实现,或作为门户组件监控器的一部分。
现参照图2,其示出了根据本发明的优选实施例用于提供异步门户页的方法的流程图,该工作流程可分为6个阶段201-206。
在阶段201,用户使用一URL来请求门户页。然后在阶段202,由web浏览器下载门户页。存在两种门户初始化模式,即只下载门户组件监控器(如阶段202a所示,在这里所说的下载门户组件监控器通常包括下载门户组件监控器和下载门户组件配置文件两部分),或下载门户组件监控器和门户组件的web内容两者(如阶段202b所示)。如果是只下载门户组件监控器,则将由所述门户组件监控器随后和异步地获得web内容。这样在初始化时用户体验可得到改进。但在这种解决方案中,会需要web浏览器和门户服务器之间的更多次的网络IO。如果是下载门户组件监控器和门户组件的web内容两者,则需要较少次数的网络IO。但门户页是同步加载的。在阶段202a和202b中,都将重写门户组件的web内容以将原始HTTP请求替换为XMLHTTP请求。然后,在阶段203中,用户将提供门户页中的某个请求,并且该请求是由门户组件监控器通过XMLHTTP提交给门户服务器的。在阶段204,门户组件根据从门户组件服务模块接收到的用户请求生成门户组件的web内容,并且在阶段205也将重写该web内容。在最后的阶段206中,通过以该新的web内容替换原来的web内容来部分刷新门户页。
值得注意的是,阶段205既可以发生在客户端也可以发生在门户服务器一侧。如果它发生在客户端,则客户端将需要较大的成本,而服务器中将需要较小的成本。如果它发生在服务器处,则相反。
此外,还值得注意的是,尽管在以上实施例中,是在初始化阶段,由门户服务器根据来自web浏览器的用户对一初始门户页的请求,而将门户组件监控器(包括门户组件配置文件)下载到客户端。但是,作为替代,门户组件可以嵌入现有的web浏览器中,这样,当用户请求一初始门户页时,门户组件监控器就可以截获该请求,而通过XMLHTTP请求异步地加载该初始门户页的各个门户组件。
下面根据图1所示的系统具体描述图2所示的这6个阶段。
门户页初始化机制如图2所示,门户页初始化步骤包括阶段201-202。在本发明中有两种初始化方式。下面分别描述这两种方式。
1)门户页初始化机制(仅下载门户组件监控器)图3a是示出了根据本发明的一个实施例的门户页初始化机制(仅下载门户组件监控器)的序列图。
参照图3a,在这种仅下载门户组件监控器的模式中,阶段202a包括步骤302-310,这些步骤执行下载门户页的功能。
在步骤301,用户在web浏览器中输入一URL,以向门户服务器发送请求来获得门户页。
在步骤302,web浏览器向门户服务器上的启动器发送对门户页的请求。
在步骤303,启动器向web浏览器发送带有具有门户组件监控器的网页的响应。
在步骤304,web浏览器调用所接收到的门户组件监控器,以发送XMLHTTP请求来获得门户组件的web内容。
在步骤305,门户组件监控器向门户服务异步地发送XMLHTTP请求。在该步骤中,用户可与该门户页交互而无需等待。
在步骤306,门户组件服务从门户组件请求门户组件的web内容。门户组件可以是本地门户组件容器或远程服务(例如用于远程门户组件的Web服务)。所以可本地或远程调用该步骤。
在步骤307,门户组件返回门户组件的web内容。
在步骤308,门户组件服务向web浏览器发送带有门户组件的web内容的响应。在该步骤期间,应当重写该web内容以将其中的请求重定向到XMLHTTP。该重写操作可发生在步骤308的开始时或结束时,就是说可在门户服务器处或在客户端门户组件监控器处实现该重写操作。
在步骤309,以所接收到的新的web内容来替换门户组件的web内容。
在步骤310,web浏览器显示该web内容。当已获得了所有门户组件的web内容时,显示整个门户页。
2)门户页初始化机制(下载门户组件监控器和web内容两者)
图3b是示出了根据本发明的另一个实施例的门户页初始化机制(下载门户组件监控器和web内容两者)的序列图。
参照图3b,在这种下载门户组件监控器和web内容两者的模式下,阶段202b包括步骤351-356,这些步骤执行下载门户页的功能。
在步骤351,用户将一URL输入web浏览器,以向门户服务器发送请求来获得门户页。
在步骤352,web浏览器向启动器发送对门户页的请求。
在步骤353,启动器调用门户组件以获得该门户页中的所有门户组件的web内容。
在步骤354,门户组件返回所有门户组件的web内容。该启动器重写web内容以将其中的请求重定向到XMLHTTP,并将它们组合为带有门户组件监控器的门户页。
在步骤355,启动器将该门户页返回给web浏览器。
在步骤356,web浏览器显示该门户页。
异步交互机制参照图2,根据本发明的实施例的异步交互机制包括四个阶段203-206。图4是示出了该异步交互机制的序列图。
参照图4,阶段203包括步骤401-403,并执行通过门户组件监控器向门户组件服务模块发送XMLHTTP请求的功能;阶段204包括404-406,并执行从门户组件获得web内容的功能。阶段205可发生在步骤406的开始时或结束时。阶段206包括步骤407和408,并执行以所接收到的新的web内容替换门户组件的原来的web内容并显示它的功能。
在步骤401,用户提交某个门户组件中的表单。
在步骤402,web浏览器调用门户组件监控器,以发送XMLHTTP请求来获得该门户组件的新的web内容。
在步骤403,门户组件监控器异步地向门户服务发送XMLHTTP请求。在该步骤期间,用户可与门户页交互,而无需等待。
在步骤404,门户组件服务模块从门户组件请求该门户组件的web内容。
在步骤405,门户组件向门户组件服务模块返回该门户组件的web内容。
在步骤406,门户组件服务模块将带有该门户组件的web内容的响应发送给门户组件监控器。在该步骤406的开始时或结束时发生阶段205,就是说阶段205可在门户服务器处或者客户端门户组件监控器处实现。
在步骤407,门户组件监控器以所接收到的新的web内容替换该门户组件的原来的web内容。
在步骤408,web浏览器显示具有该门户组件的新的web内容的门户页,而没有刷新整个门户页。
web内容重写机制步骤205执行web内容重写的功能。如果使用门户组件的原来的web内容,则任何提交将造成由web浏览器发送HTTP请求,从而导致刷新整个页。因此,应当重写web内容,以将任何提交重定向到XMLHTTP来部分刷新门户页。在本发明的实施例中,该重写过程包括两个步骤,即HTML重写和脚本重写。
下面将根据原理和示例详细描述这两个步骤。在下面的示例中,函数“xmlAction”将通过XMLHTTP发送请求和部分刷新门户页。在典型的实现中,应当将门户组件监控器的程序存储在单独的脚本文件中,以便在不同的门户页中重用门户组件监控器。例如<scriptsrc=“xmlaction.js”/></script>
当有不同的门户程序依赖于该脚本文件时,web浏览器可缓存该脚本文件。
1)HTML重写对于所有的HTML链接标记,如果它指向一Action URL,则以一特定的脚本函数调用替换其“href”属性。
例如,<ahref=″actionurl″>link</a>
将被替换为<ahref=″javascript:xmlAction(′actionurl′)″>link</a>
以及<aheef=″javascript:form.submit()″>link</a>
将被替换为<ahref=″javascript:xmlAction(form)″>link</a>
对于所有的HTML表单标记,如果其“action”属性等于一ActionURL,则以一特定的脚本函数调用替换该“action”属性。
例如,<form action=″actionurl″>
<input type=″submit″value=″submit″/>
</form>
将被替换为<form action=″actionurl″onsubmit=″xmlAction(′actionurl′)″>
<input type=″submit″value=″submit″/>
</form>
2)脚本重写对于任何使用“GET”方法发送HTTP请求的脚本语句,以一特定的脚本函数调用替换它。
例如,document.location.href=″actionurl″;将被替换为xmlAction(″actionurl″);对于任何使用“POST”方法发送HTTP请求的脚本语句,以一特定的脚本函数调用替换它。
例如,
form.submit();将被替换为xmlAction(form);以上描述了本发明的实施例,这种描述是说明性的,而不是限制性的。可对本发明的实施例进行多种修改,而不脱离本发明的精神和范围之内。例如,所述门户组件监控器可由任何可以在浏览器中运行的脚本语言来实现。再例如,当所述web内容重写装置在门户服务器中实现时,它既可集成在门户组件服务模块中,也可作为单独的组件存在,并且可以多种方式和顺序与其他组件相连接。并且当该web内容重写装置在门户组件监控器处实现时,它既可以是该门户组件监控器的一部分,也可以是由该门户组件监控器所调用的一单独组件。此外,本发明实施例中的各功能模块既可单独存在,也可以各种方式组合在一起,并可以硬件、软件、固件或其任意组合的方式实现,只要能够实现本发明的功能即可。此外,本说明书中所使用的各种术语是描述性的,旨在使本领域的技术人员理解本发明的实质,而不是要对本发明进行严格的限制。本发明的范围由以下权利要求唯一限定。
权利要求
1.一种用于在一门户系统中提供异步门户页的方法,其中所述门户系统中的门户组件是使用基于同步刷新技术的编程模型开发的,该方法包括以下步骤响应于用户对一门户页/门户组件的请求,客户端的门户组件监控器向门户服务器发送一XMLHTTP请求;响应于该XMLHTTP请求,门户服务器调用相应的门户组件获得相应的web内容;修改所述web内容以将其中的HTTP请求重定向到XMLHTTP请求;以及客户端的门户组件监控器以所述修改后的web内容刷新所述门户页中相应的门户组件的web内容。
2.根据权利要求1的方法,该方法还包括一初始化步骤,响应于来自客户端web浏览器的用户对一门户页的请求,门户服务器将所述门户组件监控器下载到客户端。
3.根据权利要求2的方法,其中所述初始化步骤包括以下步骤web浏览器向门户服务器发出对一门户页的请求;门户服务器向web浏览器返回带所述门户组件监控器的门户页;客户端的门户组件监控器向所述门户服务器异步地发送XMLHTTP请求以获得各相应门户组件的web内容;修改所述web内容,以将其中的HTTP请求重定向到XMLHTTP请求;以及客户端的门户组件监控器以所述修改后的web内容分别加载门户页中各门户组件并最后显示整个门户页。
4.根据权利要求2的方法,其中所述初始化步骤包括以下步骤web浏览器向门户服务器发出对一门户页的请求;门户服务器调用各门户组件以获得所述门户页中所有门户组件的web内容;修改所有门户组件的web内容以将其中的HTTP请求重定向到XMLHTTP请求,并将所有门户组件的web内容组织一门户页;以及向web浏览器返回带有所述门户组件监控器的门户页。
5.根据权利要求2到4中任何一个权利要求的方法,其中所述门户组件监控器由嵌入所述web内容中的脚本来实现。
6.根据权利要求1到4中任何一个权利要求的方法,其中所述门户组件监控器由单独的脚本文件来实现。
7.根据权利要求1到4中任何一个权利要求的方法,其中所述修改步骤是在所述门户服务器上执行的。
8.根据权利要求1到3中任何一个权利要求的方法,其中所述修改步骤是由客户端的门户组件监控器完成的。
9.根据权利要求1到4中任何一个权利要求的方法,其中所述修改步骤包括HTML部分的重写和脚本部分的重写。
10.根据权利要求9的方法,其中所述修改步骤包括以下步骤对于所有的HTML链接标记,如果它指向一Action URL,则以特定的脚本函数调用替换其“href”属性;对于所有的HTML表单标记,如果其“action”属性等于一Action URL,则以特定的脚本函数调用替换该“action”属性;对于任何使用“GET”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它;以及对于任何使用“POST”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它。
11.一种门户系统,包括门户服务器,该门户服务器包括门户组件服务模块用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;以及至少一个基于同步刷新技术的编程模型开发的门户组件,用于处理来自门户组件服务模块的请求并向其提供相应的web内容;客户机,该客户机包括驻留于web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户服务器发送XMLHTTP请求,以及用于以来自所述门户服务器的响应中的web内容刷新所述门户页中相应的门户组件的web内容;以及web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
12.根据权利要求11的系统,其中所述门户服务器还包括启动器,该启动器用于在用户初次请求门户页时将所述门户组件监控器下载到所述客户端。
13.根据权利要求11或12的系统,其中所述门户组件监控器是由驻留在web内容中的脚本实现的。
14.根据权利要求11或12的系统,其中所述门户组件监控器是由单独的脚本文件实现的。
15.根据权利要求11或12的系统,其中所述web内容重写装置位于所述门户服务器上。
16.根据权利要求11或12的系统,其中所述web内容重写装置位于所述所述客户端。
17.根据权利要求11或12的系统,其中所述web内容重写装置包括HTML重写装置和脚本重写装置。
18.根据权利要求17的系统,其中所述web内容重写装置实现以下功能对于所有的HTML链接标记,如果它指向一Action URL,则以特定的脚本函数调用替换其“href”属性;对于所有的HTML表单标记,如果其“action”属性等于一Action URL,则以特定的脚本函数调用替换该“action”属性;对于任何使用“GET”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它;以及对于任何使用“POST”方法发送HTTP请求的脚本语句,以特定的脚本函数调用替换它。
19.一种用于提供异步门户页的系统,包括门户服务器侧的门户组件服务模块用于根据来自客户端的XMLHTTP请求从相应的门户组件获得相应的web内容并向客户端发送该web内容作为响应;驻留于客户端web浏览器上的门户组件监控器,用于在用户与门户组件交互时,向所述门户服务模块发送XMLHTTP请求,以及用于以来自所述门户服务模块的响应中的web内容刷新所述门户页中相应的门户组件的web内容;以及web内容重写装置,用于重写从门户服务器发送到客户端的web内容,以将其中的HTTP请求重定向到XMLHTTP请求。
20.根据权利要求19的系统,所述系统还包括门户服务器侧的启动器,该启动器用于在用户初次请求门户页时将所述门户组件监控器下载到所述客户端。
全文摘要
本发明提供了一种用于实现异步门户页的方法和系统,其中包括驻留在web浏览器上的、由脚本实现的门户组件监控器。当用户与门户组件交互时,门户组件监控器就向门户服务器发送XMLHTTP请求。门户服务器根据该请求从相应的门户组件中获得相应的web内容。然后,该web内容被修改,以将其中的HTTP请求重定向为XMLHTTP请求。门户组件监控器使用该修改后的web内容刷新门户页中相应的门户组件的web内容,从而无需重新加载整个门户页。此外,在用户就一门户组件提交请求之后,在等待该门户组件的内容被刷新这段时间里,用户可以继续与其他门户组件进行交互。于是,本发明具有局部刷新、异步通信的功能。
文档编号H04L29/06GK1979476SQ20051012789
公开日2007年6月13日 申请日期2005年12月6日 优先权日2005年12月6日
发明者董彬, 顾旭光, 李铁, 马嶽 申请人:国际商业机器公司