专利名称:静态页面控件与web服务器互动的实现方法及web服务器的制作方法
技术领域:
本发明涉及通信领域,更具体地涉及一种静态页面控制与WEB 月良务器户动的实现方法及一种WEB月良务器。
背景技术:
HTML网页是一种排版文档和规范超文本链接的语言,是互联 网上用来展示信息的资源。
因为HTML网页只是定义了展示的内容及其布局方法,并不具 有传统应用程序界面的交互功能,所以为了实现在浏览器中进行网 页的互动操作,出现了动态网页。当前动态网页分为两大类, 一类 是基于微软技术的文件名后缀为ASP的网页文件, 一类是基于J2EE 的Servlet-见范文件名后缀为JSP的网页文件。
随着基于浏览器的应用程序越来越多,要求在浏览器中展示的 页面包含业务信息和业务逻辑功能。例如,在页面上展示数据库记 录信息,页面控件的操作调用服务器的商业逻辑。因此,要求页面 具有强大的交互功能,包括页面控件的互动,页面控件操作到后台 服务端业务的互动等等。
传统的互动页面是用ASP或JSP实现的。其实现原理是通过在 页面上嵌入语言代码(例如Java)或相应的标签,当浏览器向WEB
服务器发起对该页面的请求时,服务端对动态页面进行解析处理, 此时嵌入到页面上的代码和标签就起到了交互的作用,服务端根据 页面上定义的这些逻辑进行处理(例如从数据库中取得数据信息),
最后生成一个新的HTML页面,返回绐浏览器显示。
才艮据W3C的标准,页面上可以嵌入脚本实现一些页面逻辑, 因此在i殳计页面时,可以通过编写 一些简单脚本代码控制页面控件 互动。
而对于一些复杂的控件互动逻辑或者是控件与服务逻辑的交
互,使用脚^艮难实现,从而需要通过页面提交的方式将控件操作 提交到服务端,由服务端解析重新生成页面来实现一次交互响应。
随着基于浏览器的应用系统越来越复杂,页面控件互动能力的 要求也越来越高,基本上要求在浏览器页面中实现传统客户端的界 面控件功能。
现有动态页面的实现方法有以下的不足
1) 页面控件不能实现传统客户端的控件功能。传统的客户端 控件和其业务代码是同一种语言开发而成,因此在控件的操作响应 中,可以直接编写代码调用其商业逻辑方法。而页面控件只是在浏 览器中展示,与后台商业逻辑之间没有直接的关系。
2) 页面控件之间的并互实现功能不强。因为页面控件之间的 并互操作是通过编写页面脚本语言来实现的,而页面脚本言语言功 能弱,所以在编写一些复杂的控件互动时,^a码编写、调试的工作 难度大。
3)动态页面中要嵌入业务逻辑。页面信息中包括显示显示布 局的功能,还包括与服务端进行交互的逻辑功能,当页面功能复杂 时,页面^码凌乱,维护和功能复用才及不方i"更。
由此可见,需要一种新的操作页面控件的处理方法。
发明内容
鉴于上述问题,本发明提出了一种静态页面控制与WEB服务 器户动的实现方法及一种WEB服务器,以实现简单、高效的操作 页面控件的处理。
根据本发明的一方面,提出了一种静态页面控件与WEB服务 器互动的实现方法,其在WEB服务器上定义纯HTML页面和服务 端控件,其中,纯HTML页面上的动态控件分别对应于一个服务端 控件,该方法包括以下步骤S102,浏览器向WEB服务器发送动 态页面"i青求,动态页面i青求包4舌需要加载的动态页面的URL; S104, WEB服务器在接收到动态页面请求后,加栽动态页面对应的服务 端控件并进行初始化,生成用于在浏览器上显示动态页面的 DHTML; S106, WEB月艮务器生成对应于动态页面的HTML框架 页面,同时用动态控件对应的DHTML代码替换HTML框架页面中 的静态控件;以及S108, WEB服务器将HTML提供给浏览器,浏 览器进行页面刷新以显示动态页面。
在上述方法中,步骤S104包括S1042, WEB服务器在接收 到动态页面请求后,对动态页面进行解析,得到动态页面的URL 信息;S1044, WEB服务器根据URL信息加栽动态页面对应的服 务端控件;以及S1046,月良务端控件进行初始化并生成用于在浏览 器上显示动态页面的DHTML 4戈石马。
在上述方法中,步骤S106包4舌S1062,WEB月艮务器生成HTML 框架页面;以及S1064,同时用动态页面的DHTML替换HTML框 架页面中的静态控件。
在上述方法中,在用户在浏览器上对动态页面进行操作的情况 下,浏览器将操作信息发送至WEB服务器,WEB服务器通过服务 端控件生成DHTML代码,并将DHTML代码反馈至浏览器以进行 更新。
根据本发明的另一方面,提出了一种WEB服务器,其包括 页面和控件定义;f莫块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服务器 通过H良务端控件生成DHTML代码,并将DHTML代码反4f至浏览 器以进4于更新。
本发明使用纯HTML页面来定义动态页面,通过在服务器端映 射页面上交互控件的服务器控件,通过AJAX在页面和服务端的信 息交换来完成控件的互动。由于客户端控件是由服务端控件生成 DHTML来展示的,因此,可以实现任意复杂控件的页面交互功能。
由于动态页面是由纯HTML定义的,所以页面的i殳计可以完全 由页面美工独立编写,服务器控件及其处理逻辑由程序员开发完 成,使得页面布局设计和页面逻辑功能解藕。并且只要页面上包含 指定的交互控件,页面的其它内容可以设计成任何其它风格,可以 使得同一种应用可以实现多种不同的展示效果。
附困说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的不当限定。在附图中
图1是4艮据本发明的静态页面控制与WEB服务器户动的实现 方法的流程图2是动态页面生成过程的流程图3是动态页面控制操作处理流考呈图;以及
图4是冲艮据本发明的WEB服务器的框图。^沐实施方式
下面参考附图,详细i兌明本发明的具体实施方式
。
参考图1所示,说明根据本发明的静态页面控制与WEB月良务 器户动的实现方法的具体实施方式
。该方法在WEB服务器上定义 純HTML页面和服务端控件,其中,纯HTML页面上的动态控件 分别对应于一个力良务端控件,该方法包括以下步骤S102,浏览器 向WEB服务器发送动态页面请求,动态页面请求包括需要加载的 动态页面的URL; S104, WEB服务器在接收到动态页面请求后, 加载动态页面对应的服务端控件并进行初始化,生成用于在浏览器 上显示动态页面的DHTML; S106, WEB "良务器生成对应于动态页 面的HTML框架页面,同时用动态控件对应的DHTML代码替换 HTML框架页面中的静态控件;以及S].08, WEB服务器将HTML 才是供给浏览器,浏览器进行页面刷新以显示动态页面。
其中,步骤S104包括S1042, WEB服务器在接收到动态页 面请求后,对动态页面进行解析,得到动态页面的URL信息;S1044, WEB服务器根据URL信息加载动态页面对应的服务端控件;以及 S1046,服务端控件进行初始化并生成用于在浏览器上显示动态页 面的DHTML代J马。
其中,步骤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页面上的动态控件分别对应于一个 月良务端控件;动态页面^C码生成才莫块404,用于在浏览器向WEB 服务器发送动态页面请求时,加载动态页面对应的服务端控件并进 4亍初始化,生成用于在浏览器上显示动态页面的DHTML代码,其 中,动态页面i青求包4舌需要力o载的动态页面的URL;以及冲医架页面 生成和添加才莫块406, WEB月艮务器生成》于应于动态页面的HTML 框架页面,同时用动态控件对应的DHTML代码替换HTML框架页 面中的静态控件,并将HTML提供给浏览器。
其中,动态页面代码生成模块404包括解析模块4042,用于
在接收到动态页面请求后,对动态页面进行解析,得到动态页面的 URL信息;加栽才莫块4044,用于根据URL信息加栽动态页面对应
的服务端控件;以及代码生成模块4046:,用于对服务端控件进行初
其中,冲匡架页面生成和添加才莫块406包4舌冲匡架生成才莫块4062, 用于生成HTML框架页面;以及添加才莫块4064,用于用动态页面 的DHTML替换HTML框架页面中的辯、态控件。
其中,在用户在浏览器上对动态页面进行操作的情况下,浏览 器将操作信息发送至WEB服务器,WEB服务器通过服务端控件生 成DHTML代码,并将DHTML代码反馈至浏览器以进行更新。
综上所述,本发明的核心内容在于
一、定义纯HTML的动态页面
纯HTML的动态页面应该具有以下的4争点不包含4壬^可动态页 面使用的标签和代码,单独地用浏览器打开该页面时,不能发生任 何错误;对于页面上包含的动态交互控件, 一样在页面上设计出对 应的控件,设计出的控件只是用于占位显示,在其上不编写任何交 互逻辑代码,但是要在页面该控件代码中声明其ID属性,该ID属 性值就是其对应服务端控件的名称属性值,页面控件和服务端控件 通过该^f直进4亍--关联对应。
对于页面上不需要进行服务端映射的页面控件,按传统方式编 写,不受页面上与映射到服务端的交互控件的影响。
、定义服务端控件
服务端提供类似于JDK中的swing控件库,应用使用该控件库 的控件进行代码编写。关键是定义的每个服务器控件的名称值赋值
为页面交互控件中定义的ID属性值,其它的控件事件代码编写, 与使用标准swing控件代码编写没有区别。
三、动态页面的处理
浏览器向WEB服务器发起一个动态页面的请求,服务器进行 才目应处J里的ii禾呈:i口下
1、 浏览器向服务器发送一个servlet请求,在参数中指明要加 载的动态页面URL^言息。
2、 服务器得到请求后,解析参数,得到加载的动态页面URL
4吕息。
3、 服务器加载本次要处理的动态页面定义在服务端控件。
4、 服务器控件完成初始化处理后,每个服务端控件生成该控 件在页面上进行显示的"DHTML代码"字符串。
5、 月良务器返回一个HTML才匡架页面。该冲匡架页面包含一个 IFRAME框架,这个IFRAME的URL就是浏览器要加栽动态页面 URL。在生成的HTML框架页面中,有一个页面的初始化方法,在 HTML框架页面进行加载时进行处理,处理的内容就是浏览器请求 的页面中的动态控件生成的DHTML,处理的过程,就是将IFRAME 这个页面内容中静态控件——替换成月良务端该控件生成的DHTML 代码。
6、 当操作生成的页面控件时,这些控件统一调用一个方法, 将操作的信息通过AJAX发送到服务器端。7、 月良务器收到AJAX信息,进行解析,将操作转发到相对应 的服务端控件上,? 1起在服务器控件上定义的业务逻辑处理。
8、 当服务器控件完成处理后,根据定义的逻辑处理,可能会 使用一些服务器的控件状态发生变化。服务器控制这些发生变化的 月良务器控件重新生成反映变化的DHTML代码或页面脚本代码,返 回到发起AJAX i青求的页面。
9、 页面得到返回结果,根据DHTML代码或页面脚本代码, 进行相应的替换和执行操作,完成页面控件的刷新来反映服务端控 4牛的变4匕。
重复上述第6步到第9步的操作。
下面是一个通用的动态页面的4吏用示例,可按照以下步骤进
行
第一步4艮据业务需求,建立一个純HTML的动态页面; <body>
〈input id=,,textl" type="text" value-"this is value'V〉 <input id=,,buttonl,, type="buttori." value二"确定'V〉 <div id="divl" style="width:100%;position:absolute;height:100%; >
</div>
注这两个控件声明为交互控件,都赋值了ID属性。 </body>
第二步将这个文件命名为a.html,放到web服务器的指定路 径下;
第三步定义其相应的力l务端控件^^码; 〃声明一个窗体控件,参lt用文件名,映射一个页面文件。 Windowawindow=new Window("a.html,,);
〃声明一个文本控件,参凄t用页面定义文本4匡的ID号,映射该 页面控件
TextFieldtext=new TextField("textl");
Awindow.add(text); 〃表示这个控4牛在a.html这个页面上。
〃声明一个按4丑控件,参凄t用页面定义按4丑的ID号,映射该页 面控件
Buttonbutton=new Button("text 1");
Awindow.add(button); 〃表示这个4空4牛在a.html这个页面上。
〃声明一个面析控件,参数用页面定义div的ID号,映射该页 面控件
ContentPanecontent=new ContentPane("divl"); Awindow.add(content); 〃表示这个4空'f牛在a.html这个页面上。
〃定义按4丑事件的业务逻辑。 button. addActionUstener(.....)
第四步将写好的服务端代码编译,放到web服务器的指定路 径下;
第五步运4亍WEB月艮务器;
第六步打开浏览器,发出a.html的请求,得以响应结果。
由上可知,根据本发明的静态页面控制与WEB服务器互动的 实现方法主要包括下列步骤使用纯HTML页面来定义一个动态页 面;HTML页面上的每个交互控件分别对应一个传统客户端中相应 的控件,这个控件称之为"良务端控件。例如页面上的树控件对应 一个JAVA语言实现的TREE控件;页面控件操作时,通过执4亍对 应的力良务端控件完成处理。
本发明可大大减少定义工作的时间,降低定义工作的复杂度, 易于用户使用并且本发明具有易于实现,效率高等特点。
以上所述〗又为本发明的优选实施例而已,并不用于限制本发 明,对于本领域的技术人员来说,本发明可以有各种更改和变化。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进 等,均应包含在本发明的保护范围之内。
权利要求
1.一种静态页面控件与WEB服务器互动的实现方法,其特征在于,在WEB服务器上定义纯HTML页面和服务端控件,其中,所述纯HTML页面上的动态控件分别对应于一个服务端控件,所述方法包括以下步骤S102,所述浏览器向WEB服务器发送动态页面请求,所述动态页面请求包括需要加载的动态页面的URL;S104,所述WEB服务器在接收到所述动态页面请求后,加载所述动态页面对应的服务端控件并进行初始化,生成用于在所述浏览器上显示所述动态页面的DHTML;S106,所述WEB服务器生成对应于所述动态页面的HTML框架页面,同时用所述动态控件对应的DHTML代码替换所述HTML框架页面中的静态控件;以及S108,所述WEB服务器将所述HTML提供给所述浏览器,所述浏览器进行页面刷新以显示所述动态页面。
2. 根据权利要求1所述的方法,其特征在于,所述步骤S104包 括S1042,所述WEB服务器在接收到所述动态页面请求后, 对所述动态页面进4亍解才斤,纟寻到所述动态页面的URL4言息;S1044,所述WEB服务器4艮据所述URL信息加载所述动 态页面对应的力良务端纟空4牛;以及S1046,所述WPL务端控件进行初始化并生成用于在所述浏 览器上显示所述动态页面的DHTML代码。
3. 根据权利要求1所述的方法,其特征在于,所述步骤S106包 括S1062,所述WEB服务器生成所述HTML框架页面;以及S1064,同时用所述动态页面的DHTML替换所述HTML 框架页面中的静态控件。
4. 根据权利要求1所述的方法,其特征在于,在用户在所述浏览 器上对所述动态页面进行操作的情况下,所述浏览器将操作信 息发送至所述WEB服务器,所述WEB服务器通过所述服务 端控件生成DHTML代码,并将所述DHTML代码反馈至所 述浏览器以进4亍更新。
5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述 动态网页为ASP网页或JSP网页。
6. —种WEB服务器,其特征在于,所述WEB服务器包括页面和控件定义模块,用于定义纯HTML页面和服务端 控件,其中,所述纯HTML页面上的动态控件分别对应于一 个月良务端控件;动态页面代码生成模块,用于在浏览器向WEB服务器发 送动态页面请求时,加载所述动态页面对应的服务端控件并进 行初始化,生成用于在所述浏览器上显示所述动态页面的 DHTML代码,其中,所述动态页面请求包括需要加载的动态 页面的URL;以及框架页面生成和添加才莫块,所述WEB力艮务器生成对应于 所述动态页面的HTML冲医架页面,同时用所述动态控件对应 的DHTML代码替换所述HTML框架页面中的静态控件,并 将所述HTML提供给所述浏览器。
7.根据权利要求6所述的WEB服务器,其特征在于,所述动态 页面代码生成模块包括解析模块,用于在接收到所述动态页面请求后,对所述 动态页面进4亍解析,得到所述动态页面的URL信息;加载模块,用于根据所述URL信息加载所述动态页面对 应的服务端控件;以及代码生成才莫块,用于对所述服务端控件进行初始化并生
8.根据权利要求6所述的WEB服务器,其特征在于,所述框架 页面生成和添加才莫块包括框架生成才莫块,用于生成所述HTML框架页面;以及添加才莫块,用于用所述动态页面的DHTML替换所述 HTML框架页面中的静态控件。
9.根据权利要求6所述的WEB服务器,其特征在于,在用户在 所述浏览器上对所述动态页面进行操作的情况下,所述浏览器 将操作信息发送至所述WEB服务器,所述WEB服务器通过 所述服务端控件生成DHTML代码,并将所述DHTML代码 反馈至所述浏览器以进行更新。
10.根据权利要求6至9中任一项所述的WEB服务器,其特征在 于,所述动态网页为纯HTML网页。
全文摘要
本发明公开了一种静态页面控件与WEB服务器互动的实现方法及一种WEB服务器。其中,该方法包括以下步骤S102,浏览器向WEB服务器发送动态页面请求,动态页面请求包括需要加载的动态页面的URL;S104,WEB服务器在接收到动态页面请求后,加载动态页面对应的服务端控件并进行初始化,生成用于在浏览器上显示动态页面的DHTML;S106,WEB服务器生成对应于动态页面的HTML框架页面,同时用动态控件对应的DHTML代码替换HTML框架页面中的静态控件;及S108,WEB服务器将HTML提供给浏览器,浏览器进行页面刷新以显示动态页面。
文档编号G06F17/30GK101192216SQ200610145960
公开日2008年6月4日 申请日期2006年11月28日 优先权日2006年11月28日
发明者袁瑞宏 申请人:中兴通讯股份有限公司