首页> 中国专利> 静态页面控件与WEB服务器互动的实现方法及WEB服务器

静态页面控件与WEB服务器互动的实现方法及WEB服务器

摘要

本发明公开了一种静态页面控件与WEB服务器互动的实现方法及一种WEB服务器。其中,该方法包括以下步骤:S102,浏览器向WEB服务器发送动态页面请求,动态页面请求包括需要加载的动态页面的URL;S104,WEB服务器在接收到动态页面请求后,加载动态页面对应的服务端控件并进行初始化,生成用于在浏览器上显示动态页面的DHTML;S106,WEB服务器生成对应于动态页面的HTML框架页面,同时用动态控件对应的DHTML代码替换HTML框架页面中的静态控件;及S108,WEB服务器将HTML提供给浏览器,浏览器进行页面刷新以显示动态页面。

著录项

  • 公开/公告号CN101192216A

    专利类型发明专利

  • 公开/公告日2008-06-04

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200610145960.2

  • 发明设计人 袁瑞宏;

    申请日2006-11-28

  • 分类号G06F17/30(20060101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人李伟;吴孟秋

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦

  • 入库时间 2023-12-17 20:11:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-11

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20100804 终止日期:20151128 申请日:20061128

    专利权的终止

  • 2010-08-04

    授权

    授权

  • 2008-07-30

    实质审查的生效

    实质审查的生效

  • 2008-06-04

    公开

    公开

说明书

技术领域

本发明涉及通信领域,更具体地涉及一种静态页面控制与WEB服务器户动的实现方法及一种WEB服务器。

背景技术

HTML网页是一种排版文档和规范超文本链接的语言,是互联网上用来展示信息的资源。

因为HTML网页只是定义了展示的内容及其布局方法,并不具有传统应用程序界面的交互功能,所以为了实现在浏览器中进行网页的互动操作,出现了动态网页。当前动态网页分为两大类,一类是基于微软技术的文件名后缀为ASP的网页文件,一类是基于J2EE的Servlet规范文件名后缀为JSP的网页文件。

随着基于浏览器的应用程序越来越多,要求在浏览器中展示的页面包含业务信息和业务逻辑功能。例如,在页面上展示数据库记录信息,页面控件的操作调用服务器的商业逻辑。因此,要求页面具有强大的交互功能,包括页面控件的互动,页面控件操作到后台服务端业务的互动等等。

传统的互动页面是用ASP或JSP实现的。其实现原理是通过在页面上嵌入语言代码(例如java)或相应的标签,当浏览器向WEB服务器发起对该页面的请求时,服务端对动态页面进行解析处理,此时嵌入到页面上的代码和标签就起到了交互的作用,服务端根据页面上定义的这些逻辑进行处理(例如从数据库中取得数据信息),最后生成一个新的HTML页面,返回给浏览器显示。

根据W3C的标准,页面上可以嵌入脚本实现一些页面逻辑,因此在设计页面时,可以通过编写一些简单脚本代码控制页面控件互动。

而对于一些复杂的控件互动逻辑或者是控件与服务逻辑的交互,使用脚本很难实现,从而需要通过页面提交的方式将控件操作提交到服务端,由服务端解析重新生成页面来实现一次交互响应。

随着基于浏览器的应用系统越来越复杂,页面控件互动能力的要求也越来越高,基本上要求在浏览器页面中实现传统客户端的界面控件功能。

现有动态页面的实现方法有以下的不足:

1)页面控件不能实现传统客户端的控件功能。传统的客户端控件和其业务代码是同一种语言开发而成,因此在控件的操作响应中,可以直接编写代码调用其商业逻辑方法。而页面控件只是在浏览器中展示,与后台商业逻辑之间没有直接的关系。

2)页面控件之间的并互实现功能不强。因为页面控件之间的并互操作是通过编写页面脚本语言来实现的,而页面脚本言语言功能弱,所以在编写一些复杂的控件互动时,代码编写、调试的工作难度大。

3)动态页面中要嵌入业务逻辑。页面信息中包括显示显示布局的功能,还包括与服务端进行交互的逻辑功能,当页面功能复杂时,页面代码凌乱,维护和功能复用极不方便。

由此可见,需要一种新的操作页面控件的处理方法。

发明内容

鉴于上述问题,本发明提出了一种静态页面控制与WEB服务器户动的实现方法及一种WEB服务器,以实现简单、高效的操作页面控件的处理。

根据本发明的一方面,提出了一种静态页面控件与WEB服务器互动的实现方法,其在WEB服务器上定义纯HTML页面和服务端控件,其中,纯HTML页面上的动态控件分别对应于一个服务端控件,该方法包括以下步骤:S102,浏览器向WEB服务器发送动态页面请求,动态页面请求包括需要加载的动态页面的URL;S104,WEB服务器在接收到动态页面请求后,加载动态页面对应的服务端控件并进行初始化,生成用于在浏览器上显示动态页面的DHTML;S106,WEB服务器生成对应于动态页面的HTML框架页面,同时用动态控件对应的DHTML代码替换HTML框架页面中的静态控件;以及S108,WEB服务器将HTML提供给浏览器,浏览器进行页面刷新以显示动态页面。

在上述方法中,步骤S104包括:S1042,WEB服务器在接收到动态页面请求后,对动态页面进行解析,得到动态页面的URL信息;S1044,WEB服务器根据URL信息加载动态页面对应的服务端控件;以及S1046,服务端控件进行初始化并生成用于在浏览器上显示动态页面的DHTML代码。

在上述方法中,步骤S106包括:S1062,WEB服务器生成HTML框架页面;以及S1064,同时用动态页面的DHTML替换HTML框架页面中的静态控件。

在上述方法中,在用户在浏览器上对动态页面进行操作的情况下,浏览器将操作信息发送至WEB服务器,WEB服务器通过服务端控件生成DHTML代码,并将DHTML代码反馈至浏览器以进行更新。

根据本发明的另一方面,提出了一种WEB服务器,其包括:页面和控件定义模块402,用于定义纯HTML页面和服务端控件,其中,纯HTML页面上的动态控件分别对应于一个服务端控件;动态页面代码生成模块404,用于在浏览器向WEB服务器发送动态页面请求时,加载动态页面对应的服务端控件并进行初始化,生成用于在浏览器上显示动态页面的DHTML代码,其中,动态页面请求包括需要加载的动态页面的URL;以及框架页面生成和添加模块406,WEB服务器生成对应于动态页面的HTML框架页面,同时用动态控件对应的DHTML代码替换HTML框架页面中的静态控件,并将HTML提供给浏览器。

在上述WEB服务器中,动态页面代码生成模块404包括:解析模块4042,用于在接收到动态页面请求后,对动态页面进行解析,得到动态页面的URL信息;加载模块4044,用于根据URL信息加载动态页面对应的服务端控件;以及代码生成模块4046,用于对服务端控件进行初始化并生成用于在浏览器上显示动态页面的DHTML代码。

在上述WEB服务器中,框架页面生成和添加模块406包括:框架生成模块4062,用于生成HTML框架页面;以及添加模块4064,用于用动态页面的DHTML替换HTML框架页面中的静态控件。

在上述WEB服务器中,在用户在浏览器上对动态页面进行操作的情况下,浏览器将操作信息发送至WEB服务器,WEB服务器通过服务端控件生成DHTML代码,并将DHTML代码反馈至浏览器以进行更新。

本发明使用纯HTML页面来定义动态页面,通过在服务器端映射页面上交互控件的服务器控件,通过AJAX在页面和服务端的信息交换来完成控件的互动。由于客户端控件是由服务端控件生成DHTML来展示的,因此,可以实现任意复杂控件的页面交互功能。

由于动态页面是由纯HTML定义的,所以页面的设计可以完全由页面美工独立编写,服务器控件及其处理逻辑由程序员开发完成,使得页面布局设计和页面逻辑功能解藕。并且只要页面上包含指定的交互控件,页面的其它内容可以设计成任何其它风格,可以使得同一种应用可以实现多种不同的展示效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明的静态页面控制与WEB服务器户动的实现方法的流程图;

图2是动态页面生成过程的流程图;

图3是动态页面控制操作处理流程图;以及

图4是根据本发明的WEB服务器的框图。

具体实施方式

下面参考附图,详细说明本发明的具体实施方式。

参考图1所示,说明根据本发明的静态页面控制与WEB服务器户动的实现方法的具体实施方式。该方法在WEB服务器上定义纯HTML页面和服务端控件,其中,纯HTML页面上的动态控件分别对应于一个服务端控件,该方法包括以下步骤:S102,浏览器向WEB服务器发送动态页面请求,动态页面请求包括需要加载的动态页面的URL;S104,WEB服务器在接收到动态页面请求后,加载动态页面对应的服务端控件并进行初始化,生成用于在浏览器上显示动态页面的DHTML;S106,WEB服务器生成对应于动态页面的HTML框架页面,同时用动态控件对应的DHTML代码替换HTML框架页面中的静态控件;以及S108,WEB服务器将HTML提供给浏览器,浏览器进行页面刷新以显示动态页面。

其中,步骤S104包括:S1042,WEB服务器在接收到动态页面请求后,对动态页面进行解析,得到动态页面的URL信息;S1044,WEB服务器根据URL信息加载动态页面对应的服务端控件;以及S1046,服务端控件进行初始化并生成用于在浏览器上显示动态页面的DHTML代码。

其中,步骤S106包括:S1062,WEB服务器生成HTML框架页面;以及S1064,同时用动态页面的DHTML替换HTML框架页面中的静态控件。

其中,在用户在浏览器上对动态页面进行操作的情况下,浏览器将操作信息发送至WEB服务器,WEB服务器通过服务端控件生成DHTML代码,并将DHTML代码反馈至浏览器以进行更新。

具体地,参考图2、图3所示,说明根据本发明的静态页面控制与WEB服务器互动的实现方法的具体实施例。其中,动态页面通过下列步骤生成:S202,浏览器相服务端发起一个动态页面的请求;S204,服务器加载动态页面对应的服务端控件;S206,将服务端控件信息保存在会话中;S208,生成框架页面和页面控制的DHTML代码;S210,浏览器加载框架;S212,子框架IFRAME加载纯HTML动态页面;S214,框架用DHTML替换动态页面中的控件。

其中动态页面控制操作处理过程如下:S302,操作生成的动态页面上的控件;S304,控件将操作信息通过AJAX发送到服务器;S306,服务端解析该请求;S308,从会活中得控件集合;S310,将页面控件得操作信息转发给对应的服务器控件;S312,该服务器控件进行相应的操作处理;S314,所有发生变动的服务器控件生成页面变化代码;S316,动态页面处理服务端传回的信息,刷新页面。

参考图4所示,说明根据本发明的WEB服务器。该WEB服务器,其包括:页面和控件定义模块402,用于定义纯HTML页面和服务端控件,其中,纯HTML页面上的动态控件分别对应于一个服务端控件;动态页面代码生成模块404,用于在浏览器向WEB服务器发送动态页面请求时,加载动态页面对应的服务端控件并进行初始化,生成用于在浏览器上显示动态页面的DHTML代码,其中,动态页面请求包括需要加载的动态页面的URL;以及框架页面生成和添加模块406,WEB服务器生成对应于动态页面的HTML框架页面,同时用动态控件对应的DHTML代码替换HTML框架页面中的静态控件,并将HTML提供给浏览器。

其中,动态页面代码生成模块404包括:解析模块4042,用于在接收到动态页面请求后,对动态页面进行解析,得到动态页面的URL信息;加载模块4044,用于根据URL信息加载动态页面对应的服务端控件;以及代码生成模块4046,用于对服务端控件进行初始化并生成用于在浏览器上显示动态页面的DHTML代码。

其中,框架页面生成和添加模块406包括:框架生成模块4062,用于生成HTML框架页面;以及添加模块4064,用于用动态页面的DHTML替换HTML框架页面中的静态控件。

其中,在用户在浏览器上对动态页面进行操作的情况下,浏览器将操作信息发送至WEB服务器,WEB服务器通过服务端控件生成DHTML代码,并将DHTML代码反馈至浏览器以进行更新。

综上所述,本发明的核心内容在于:

一、定义纯HTML的动态页面

纯HTML的动态页面应该具有以下的特点:不包含任何动态页面使用的标签和代码,单独地用浏览器打开该页面时,不能发生任何错误;对于页面上包含的动态交互控件,一样在页面上设计出对应的控件,设计出的控件只是用于占位显示,在其上不编写任何交互逻辑代码,但是要在页面该控件代码中声明其ID属性,该ID属性值就是其对应服务端控件的名称属性值,页面控件和服务端控件通过该值进行一一关联对应。

对于页面上不需要进行服务端映射的页面控件,按传统方式编写,不受页面上与映射到服务端的交互控件的影响。

二、定义服务端控件

服务端提供类似于JDK中的swing控件库,应用使用该控件库的控件进行代码编写。关键是定义的每个服务器控件的名称值赋值为页面交互控件中定义的ID属性值,其它的控件事件代码编写,与使用标准swing控件代码编写没有区别。

三、动态页面的处理

浏览器向WEB服务器发起一个动态页面的请求,服务器进行相应处理的过程如下:

1、浏览器向服务器发送一个servlet请求,在参数中指明要加载的动态页面URL信息。

2、服务器得到请求后,解析参数,得到加载的动态页面URL信息。

3、服务器加载本次要处理的动态页面定义在服务端控件。

4、服务器控件完成初始化处理后,每个服务端控件生成该控件在页面上进行显示的“DHTML代码”字符串。

5、服务器返回一个HTML框架页面。该框架页面包含一个IFRAME框架,这个IFRAME的URL就是浏览器要加载动态页面URL。在生成的HTML框架页面中,有一个页面的初始化方法,在HTML框架页面进行加载时进行处理,处理的内容就是浏览器请求的页面中的动态控件生成的DHTML,处理的过程,就是将IFRAME这个页面内容中静态控件一一替换成服务端该控件生成的DHTML代码。

6、当操作生成的页面控件时,这些控件统一调用一个方法,将操作的信息通过AJAX发送到服务器端。

7、服务器收到AJAX信息,进行解析,将操作转发到相对应的服务端控件上,引起在服务器控件上定义的业务逻辑处理。

8、当服务器控件完成处理后,根据定义的逻辑处理,可能会使用一些服务器的控件状态发生变化。服务器控制这些发生变化的服务器控件重新生成反映变化的DHTML代码或页面脚本代码,返回到发起AJAX请求的页面。

9、页面得到返回结果,根据DHTML代码或页面脚本代码,进行相应的替换和执行操作,完成页面控件的刷新来反映服务端控件的变化。

重复上述第6步到第9步的操作。

下面是一个通用的动态页面的使用示例,可按照以下步骤进行:

第一步:根据业务需求,建立一个纯HTML的动态页面;

<body>

    <input id=”text1”type=″text″value=″this is value″/>

   <input id=”button1”type=″button″value=″确定″/>

   <div id=″div 1″style=″width:100%;position:absolute;height:100%;>

    </div>

注:这两个控件声明为交互控件,都赋值了ID属性。

</body>

第二步:将这个文件命名为a.html,放到web服务器的指定路径下;

第三步:定义其相应的服务端控件代码;

//声明一个窗体控件,参数用文件名,映射一个页面文件。

Window awindow=new Window(“a.html”);

//声明一个文本控件,参数用页面定义文本框的ID号,映射该页面控件

TextField text=new TextField(“text 1”);

Awindow.add(text);//表示这个控件在a.html这个页面上。

//声明一个按钮控件,参数用页面定义按钮的ID号,映射该页面控件

Button button=new Button(“text 1”);

Awindow.add(button);//表示这个控件在a.html这个页面上。

//声明一个面析控件,参数用页面定义div的ID号,映射该页面控件

ContentPane content=new ContentPane(“div 1”);

Awindow.add(content);//表示这个控件在a.html这个页面上。

//定义按钮事件的业务逻辑。

button.addActionListener(.....)

第四步:将写好的服务端代码编译,放到web服务器的指定路径下;

第五步:运行WEB服务器;

第六步:打开浏览器,发出a.html的请求,得以响应结果。

由上可知,根据本发明的静态页面控制与WEB服务器互动的实现方法主要包括下列步骤:使用纯HTML页面来定义一个动态页面;HTML页面上的每个交互控件分别对应一个传统客户端中相应的控件,这个控件称之为服务端控件。例如:页面上的树控件对应一个JAVA语言实现的TREE控件;页面控件操作时,通过执行对应的服务端控件完成处理。

本发明可大大减少定义工作的时间,降低定义工作的复杂度,易于用户使用并且本发明具有易于实现,效率高等特点。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号