CN111209495A - 一种动态页面的生成方法和装置 - Google Patents
一种动态页面的生成方法和装置 Download PDFInfo
- Publication number
- CN111209495A CN111209495A CN201911369623.5A CN201911369623A CN111209495A CN 111209495 A CN111209495 A CN 111209495A CN 201911369623 A CN201911369623 A CN 201911369623A CN 111209495 A CN111209495 A CN 111209495A
- Authority
- CN
- China
- Prior art keywords
- dynamic
- dynamic page
- request
- page
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种动态页面的生成方法和装置,该方法包括:在浏览器中发起请求;根据请求匹配所有的虚拟主机以及所有的上下文;从上下文的映射表中获取相应URL的Servlet;通过用于生成动态web内容的Servlet构造对应于请求的请求对象和响应对象;将请求对象和响应对象作为参数调用相应函数以执行数据处理;将执行数据处理后的响应对象返回给浏览器;从响应对象上获取返回的数据,并对返回的数据的数据结构进行解析;使用动态标签对解析后的数据进行排版显示,以生成动态页面。本发明的上述技术方案可以实现页面的动态架构,以及导航栏的协同平移。
Description
技术领域
本发明涉及一种动态页面的生成方法和装置。
背景技术
针对于web界面显示信息变动性比较强的需求及显示数据量庞大和数据结构未知的情况下要实现动态页面的架构,此举减少了前端开发人员对于页面的日常维护工作。
与本发明最近似的现有技术是原始的HTML和CSS技术。HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。同时通过XMLHttpRequest2等技术,解决以前的跨域问题。新增的元素和属性也为搜索引擎的索引整理提供了方便。CSS3是CSS(层叠样式表)技术的升级版本,新增特性中的位移translate()函数是将一个元素的显示位置平移tx和ty,在矩阵变形中,translate的matrix参数为:matrix(1,0,0,1,tx,ty),tx和ty分别对应X和Y轴的增量。但现有技术仍存在很多弊端。
现有技术可操作性不强,而且所构建生成的web界面多为静态,当前端页面显示数据随着后台数据变化时,如大幅度的增加与减少,会给前端页面的处理造成巨大冗余的工作量。当web前端以静态页面呈现数据时,要求数据的数量以及数据的结构是已知的,所以当出现接收数据发生变动时,现有技术针对此情况的处理会变的繁琐庞杂。
发明内容
针对相关技术中存在的问题,本发明的目的在于提供一种动态页面的生成方法和装置,能够实现页面的动态架构,以及导航栏的协同平移。
根据本发明的实施例,一种动态页面的生成方法,包括:在浏览器中发起请求;根据请求匹配所有的虚拟主机以及所有的Context;从Context的映射表中获取相应URL的Servlet;通过用于生成动态web内容的Servlet构造对应于请求的请求对象和响应对象;将请求对象和响应对象作为参数调用相应函数以执行数据处理;将执行数据处理后的响应对象返回给浏览器;从响应对象上获取返回的数据,并对返回的数据的数据结构进行解析;使用动态标签对解析后的数据进行排版显示,以生成动态页面。
根据本发明的实施例,动态页面的生成方法,还包括:在动态页面上构造双侧导航;为动态页面添加平移事件;在动态页面外重构显示内容区域,并将重构的显示内容区域重复累加到动态页面的主体上;进行动态捕捉界面架构显示,以及监听页面样式变化显示,以实现双侧导航的协同平移。
根据本发明的实施例,动态页面的生成方法,还包括:当双侧导航出现交叉覆盖的区域时,在动态页面的主体外部分生成覆盖的标识部分,并将覆盖的标识部分重新固定叠加在交叉覆盖的区域上。
根据本发明的实施例,动态页面的生成方法,还包括:通过监测浏览器的窗口的变化尺寸来实时获取窗口高度,根据实时获取的窗口高度将滚动条实时固定在动态页面的屏幕下方。
根据本发明的实施例,一种动态页面的生成装置,包括:发起请求模块,用于在浏览器中发起请求;匹配模块,用于根据请求匹配所有的虚拟主机,以及匹配所有的Context;获取Servlet模块,用于从Context的映射表中获取相应URL的Servlet;以及,通过用于生成动态web内容的Servlet构造对应于请求的请求对象和响应对象;数据处理模块,用于将请求对象和响应对象作为参数调用相应函数以执行数据处理;返回模块,用于将执行数据处理后的响应对象返回给浏览器;动态页面生成模块,用于从响应对象上获取返回的数据,并对返回的数据的数据结构进行解析;以及,使用动态标签对解析后的数据进行排版显示,以生成动态页面。
根据本发明的实施例,动态页面的生成装置还包括,双侧导航构造模块,用于在动态页面上构造双侧导航;协同平移处理模块,用于为动态页面添加平移事件;在动态页面外重构显示内容区域,并将重构的显示内容区域重复累加到动态页面的主体上;以及,进行动态捕捉界面架构显示,以及监听页面样式变化显示,以实现双侧导航的协同平移。
根据本发明的实施例,动态页面的生成装置的协同平移处理模块还包括,当双侧导航出现交叉覆盖的区域时,在动态页面的主体外部分生成覆盖的标识部分,并将覆盖的标识部分重新固定叠加在交叉覆盖的区域上。
根据本发明的实施例,动态页面的生成装置还包括:监测模块,用于通过监测浏览器的窗口的变化尺寸来实时获取窗口高度,根据实时获取的窗口高度将滚动条实时固定在动态页面的屏幕下方。
本发明的有益技术效果在于:能够实现页面的动态架构,以及导航栏的协同平移。相比于现有技术的静态web界面,当前端页面显示数据随着后台数据变化时,如大幅度的增加与减少,本发明不存在给前端页面的处理造成巨大冗余的工作量的问题,本发明的技术方案也不要求数据的数量以及数据的结构是已知的,因此,当出现接收数据发生变动时,前端页面的处理不会变得繁琐庞杂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一个实施例的动态页面的生成方法的流程图;
图2是根据本发明一个实施例的Http请求数据过程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供了一种动态页面的生成方法,包括:
S11,在浏览器中发起请求。
S12,根据请求匹配所有的虚拟主机以及所有的上下文(Context)。
S13,从上下文(Context)的映射表(mapping table)中获取相应URL(UniformResource Locator,统一资源定位符)的Servlet。Servlet称为小服务程序或服务连接器,主要功能在于交互式地浏览和修改数据,生成动态Web内容。service()方法是Servlet的核心。每当一个客户请求一个HttpServlet对象,该对象的service()方法就要被调用,而且传递给这个方法一个请求(ServletRequest)对象和一个响应(ServletResponse)对象作为参数。在HttpServlet中已存在service()方法。缺省的服务功能是调用与HTTP请求的方法相应的do功能,实现数据的传输。
S14,通过用于生成动态web内容的Servlet构造对应于请求的请求对象和响应对象。
S15,将请求对象和响应对象作为参数调用相应函数以执行数据处理。
S16,将执行数据处理后的响应对象返回给浏览器。
S17,从响应对象上获取返回的数据,并对返回的数据的数据结构进行解析。
S18,使用动态标签对解析后的数据进行排版显示,以生成动态页面。
在一个实施例中,本发明采用JavaScript技术实现动态页面的架构生成。JavaScript是一种解释型的脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。
如图2所示,Http请求数据过程包括以下步骤:
步骤S20,用户在浏览器输入网址发起请求;步骤S21,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1Connector获得,然后Connector把该请求交给它所在的Service的Engine(Container)来处理;步骤S22,等待Engine的回应,Service的Engine响应请求;步骤S23,Engine获得请求并匹配所有的虚拟主机(Host);步骤S25,当Engine匹配到请求地址中的Host时,将继续匹配找到请求里面的所有上下文(Context),步骤S24,若未识别到相应Host,也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机,接下来执行步骤S25,继续从Context的映射表(mapping table)中获取到相应URL的Servlet;步骤S27,构造HttpRequest对象和HttpResponse对象,步骤S28,将构造的HttpRequest对象和HttpResponse对象作为参数调用doPost(),执行业务逻辑、数据存储等;步骤S29,Context把执行完之后的HttpResponse对象返回给Host,然后Host把HttpResponse对象返回给Engine,Engine再把HttpResponse对象返回Connector;最后Connector把HttpResponse对象返回给客户Browser,本次请求过程结束。
在图2所示的实施例中,动态页面处理实现是在返回HttpResponse对象阶段,在此对象上获取到后台返回的数据,然后对接收到数据的数据结构进行逐层解析,再使用生成的动态标签对已解析完成的数据进行排版显示,随即实现动态页面的渲染生成。
本发明的上述技术方案,能够实现页面的动态架构,以及导航栏的协同平移。相比于现有技术的静态web界面,当前端页面显示数据随着后台数据变化时,如大幅度的增加与减少,本发明不存在给前端页面的处理造成巨大冗余的工作量的问题,本发明的技术方案也不要求数据的数量以及数据的结构是已知的,因此,当出现接收数据发生变动时,前端页面的处理不会变得繁琐庞杂。
JavaScript在实现动态页面的渲染过程中,顶部导航栏可以采用标准的导航栏构建方式采用固定定位(postion fix)的方式,但当页面要求双侧导航时,固定定位(postionfix)的方式存在兼容问题。故JavaScript动态架构页面以及双侧导航栏在本发明中采用协同平移处理。因此,在一个实施例中,本发明的动态页面的生成方法还包括协同平移处理的步骤S19。在步骤S19处,在动态页面上构造双侧导航;为动态页面添加平移事件,例如可以调用translate函数为页面添加平移事件;在整个动态页面外重构显示内容区域,并将重构的显示内容区域重复累加到动态页面的主体(body)上;进行动态捕捉界面架构显示以及监听页面样式变化显示,可以使用javaScript的开发技术实现动态捕捉界面架构显示和监听页面样式变化显示实现双侧导航协同平移的效果。从而,通过协同平移处理的步骤S19实现了双侧导航的协同平移。
当用户滚动页面时候,开始为界面上的滚动条添加滚动监听事件,然后上方导航栏在界面坐标轴上的Y轴进行上下平移,左侧导航栏则是随着X轴左右平移,当发生Y轴上下平移时候,会发生两侧导航交叉覆盖的区域,因此,为解决此问题,本发明的协同平移处理的步骤S19还可以包括:当双侧导航出现交叉覆盖的区域时,重新在整个页面的主体(body)外部分生成覆盖的标识部分,并将覆盖的标识部分重新固定叠加在交叉覆盖的区域上。
在一个实施例中,本发明提供的一种动态页面的生成方法,还包括:
通过监测浏览器的窗口的变化尺寸来实时获取窗口高度,根据实时获取的窗口高度将滚动条实时固定在动态页面的屏幕下方。从而解决掉了滚动条不实时固定在页面屏幕下方的问题。
本发明还提供了一种动态页面的生成装置,包括:发起请求模块,用于在浏览器中发起请求;匹配模块,用于根据请求匹配所有的虚拟主机,以及匹配所有的Context;获取Servlet模块,用于从Context的映射表中获取相应URL的Servlet;以及,通过用于生成动态web内容的Servlet构造对应于请求的请求对象和响应对象;数据处理模块,用于将请求对象和响应对象作为参数调用相应函数以执行数据处理;返回模块,用于将执行数据处理后的响应对象返回给浏览器;动态页面生成模块,用于从响应对象上获取返回的数据,并对返回的数据的数据结构进行解析;以及,使用动态标签对解析后的数据进行排版显示,以生成动态页面。
在一个实施例中,动态页面的生成装置还包括,双侧导航构造模块,用于在动态页面上构造双侧导航;协同平移处理模块,用于为动态页面添加平移事件;在动态页面外重构显示内容区域,并将重构的显示内容区域重复累加到动态页面的主体上;以及,进行动态捕捉界面架构显示,以及监听页面样式变化显示,以实现双侧导航的协同平移。
在一个实施例中,动态页面的生成装置的协同平移处理模块还包括,当双侧导航出现交叉覆盖的区域时,在动态页面的主体外部分生成覆盖的标识部分,并将覆盖的标识部分重新固定叠加在交叉覆盖的区域上。
在一个实施例中,动态页面的生成装置还包括:监测模块,用于通过监测浏览器的窗口的变化尺寸来实时获取窗口高度,根据实时获取的窗口高度将滚动条实时固定在动态页面的屏幕下方。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种动态页面的生成方法,其特征在于,包括:
在浏览器中发起请求;
根据所述请求匹配所有的虚拟主机以及所有的上下文(Context);
从所述上下文的映射表中获取相应URL的Servlet;
通过用于生成动态web内容的所述Servlet构造对应于所述请求的请求对象和响应对象;
将所述请求对象和所述响应对象作为参数调用相应函数以执行数据处理;
将执行数据处理后的响应对象返回给所述浏览器;
从所述响应对象上获取返回的数据,并对所述返回的数据的数据结构进行解析;
使用动态标签对解析后的所述数据进行排版显示,以生成所述动态页面。
2.根据权利要求1所述的动态页面的生成方法,其特征在于,还包括:
在所述动态页面上构造双侧导航;
为所述动态页面添加平移事件;
在所述动态页面外重构显示内容区域,并将所述重构的显示内容区域重复累加到所述动态页面的主体上;
进行动态捕捉界面架构显示,以及监听页面样式变化显示,以实现所述双侧导航的协同平移。
3.根据权利要求2所述的动态页面的生成方法,其特征在于,还包括:当所述双侧导航出现交叉覆盖的区域时,在所述动态页面的主体外部分生成覆盖的标识部分,并将所述覆盖的标识部分重新固定叠加在所述交叉覆盖的区域上。
4.根据权利要求1所述的动态页面的生成方法,其特征在于,还包括:通过监测所述浏览器的窗口的变化尺寸来实时获取窗口高度,根据所述实时获取的窗口高度将滚动条实时固定在所述动态页面的屏幕下方。
5.一种动态页面的生成装置,其特征在于,包括:
发起请求模块,用于在浏览器中发起请求;
匹配模块,用于根据所述请求匹配所有的虚拟主机,以及匹配所有的Context;
获取Servlet模块,用于从所述上下文的映射表中获取相应URL的Servlet;以及,通过用于生成动态web内容的所述Servlet构造对应于所述请求的请求对象和响应对象;
数据处理模块,用于将所述请求对象和所述响应对象作为参数调用相应函数以执行数据处理;
返回模块,用于将执行数据处理后的响应对象返回给所述浏览器;
动态页面生成模块,用于从所述响应对象上获取返回的数据,并对所述返回的数据的数据结构进行解析;以及
使用动态标签对解析后的所述数据进行排版显示,以生成所述动态页面。
6.根据权利要求5所述的动态页面的生成装置,其特征在于,还包括,
双侧导航构造模块,用于在所述动态页面上构造双侧导航;
协同平移处理模块,用于为所述动态页面添加平移事件;
在所述动态页面外重构显示内容区域,并将所述重构的显示内容区域重复累加到所述动态页面的主体上;以及
进行动态捕捉界面架构显示,以及监听页面样式变化显示,以实现所述双侧导航的协同平移。
7.根据权利要求6所述的动态页面的生成装置,其特征在于,协同平移处理模块还包括,当所述双侧导航出现交叉覆盖的区域时,在所述动态页面的主体外部分生成覆盖的标识部分,并将所述覆盖的标识部分重新固定叠加在所述交叉覆盖的区域上。
8.根据权利要求5所述的动态页面的生成装置,其特征在于,还包括:
监测模块,用于通过监测所述浏览器的窗口的变化尺寸来实时获取窗口高度,根据所述实时获取的窗口高度将滚动条实时固定在所述动态页面的屏幕下方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369623.5A CN111209495A (zh) | 2019-12-26 | 2019-12-26 | 一种动态页面的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369623.5A CN111209495A (zh) | 2019-12-26 | 2019-12-26 | 一种动态页面的生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209495A true CN111209495A (zh) | 2020-05-29 |
Family
ID=70789364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911369623.5A Pending CN111209495A (zh) | 2019-12-26 | 2019-12-26 | 一种动态页面的生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209495A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5928323A (en) * | 1996-05-30 | 1999-07-27 | Sun Microsystems, Inc. | Apparatus and method for dynamically generating information with server-side software objects |
US20060277248A1 (en) * | 2005-05-12 | 2006-12-07 | Baxter Eugene E | Configuration-based application architecture using XML/XSLT |
CN101192216A (zh) * | 2006-11-28 | 2008-06-04 | 中兴通讯股份有限公司 | 静态页面控件与web服务器互动的实现方法及web服务器 |
-
2019
- 2019-12-26 CN CN201911369623.5A patent/CN111209495A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5928323A (en) * | 1996-05-30 | 1999-07-27 | Sun Microsystems, Inc. | Apparatus and method for dynamically generating information with server-side software objects |
US20060277248A1 (en) * | 2005-05-12 | 2006-12-07 | Baxter Eugene E | Configuration-based application architecture using XML/XSLT |
CN101192216A (zh) * | 2006-11-28 | 2008-06-04 | 中兴通讯股份有限公司 | 静态页面控件与web服务器互动的实现方法及web服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144711B2 (en) | Webpage rendering method, device, electronic apparatus and storage medium | |
CN107368487B (zh) | 一种页面组件动态布局方法、装置及客户端 | |
EP3518124A1 (en) | Webpage rendering method and related device | |
US10108715B2 (en) | Transformation and presentation of on-demand native application crawling results | |
US11829436B2 (en) | Method and apparatus of pre-rendering page, electronic device, and storage medium | |
US20100324887A1 (en) | System and method of online user-cycled web page vision instant machine translation | |
US20110202854A1 (en) | Metadata Capture for Screen Sharing | |
US20100229081A1 (en) | Method for Providing a Navigation Element in an Application | |
WO2022048141A1 (zh) | 一种图像处理方法及装置、计算机可读存储介质 | |
CN111507074B (zh) | 数据处理方法及装置、处理器、电子设备及存储介质 | |
CN106874023A (zh) | 动态页面加载方法和装置 | |
CN102142004B (zh) | 业务处理方法和业务引擎 | |
CN109918598B (zh) | 一种基于Android电视浏览器的web页面渲染方法 | |
CN113448649B (zh) | 一种基于Redis的首页数据加载的服务器及方法 | |
CN111209495A (zh) | 一种动态页面的生成方法和装置 | |
CN101772196A (zh) | 处理移动终端发送的信息的方法和系统以及代理服务器 | |
CN114385124A (zh) | 基于Vue框架的独立页面的跳转方法、装置及设备 | |
CN113961279A (zh) | 页面渲染方法、装置、服务器和存储介质 | |
CN112306619A (zh) | 一种截图方法和装置 | |
TWI571751B (zh) | 加速網頁顯示亞洲語系字型的方法、字型伺服器、與於網頁顯示字型的瀏覽裝置 | |
CN110647695A (zh) | 网页页面数据转换成图片附件的方法与装置 | |
CN117093386B (zh) | 页面截图方法、装置、计算机设备和存储介质 | |
US20090327233A1 (en) | Method of selecting objects in web pages | |
KR101370714B1 (ko) | 다중 스크린 장치 사용을 위한 웹 페이지 스크린 분할 방법 및 시스템 | |
KR20020049417A (ko) | 이미지형태의 웹문서 생성 방법 및 이 방법을 이용해생성된 웹문서 열람 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211021 Address after: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street. Applicant after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Applicant after: ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd. Address before: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street. Applicant before: DAWNING INFORMATION INDUSTRY Co.,Ltd. |