CN101789012B - 基于j2ee的web动态页面静态化解决方法 - Google Patents
基于j2ee的web动态页面静态化解决方法 Download PDFInfo
- Publication number
- CN101789012B CN101789012B CN 201010105969 CN201010105969A CN101789012B CN 101789012 B CN101789012 B CN 101789012B CN 201010105969 CN201010105969 CN 201010105969 CN 201010105969 A CN201010105969 A CN 201010105969A CN 101789012 B CN101789012 B CN 101789012B
- Authority
- CN
- China
- Prior art keywords
- page
- static
- dynamic
- dynamic page
- web
- 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.)
- Expired - Fee Related
Links
- 230000003068 static effect Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000003203 everyday effect Effects 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于J2EE的WEB动态页面静态化解决方法,步骤包括:1)由静态页面生成应用模拟客户端请求,发送请求到原有的动态页面,并将响应对象里的输出流指向到本地文件;2)WEB应用读取由“静态页面生成应用”生成的静态页面;静态页面生成好以后,用户对WEB应用的动态页面地址的访问就会重定向响应的静态页面。本方法采用基于J2EE的动态页面静态化解决方案,程序上不做修改,就能够很好的减少应用服务器的压力和数据库连接资源的竞争。相比原来的直接访问WEB应用的动态页面,WEB服务器的高峰期的cpu使用率由原来的100%降到了60%。相关功能对数据库连接资源的竞争由原来的80%降到了0%,因为这时没有数据库连接。高并发环境下响应速度快。
Description
1、技术领域
本技术发明方案应用于基于J2EE的WEB应用,用于解决用户使用***的性能要求。
2、背景技术
目前现有的WEB应用大部分都是采用动态页面,客户端访问时动态生成返回响应信息,当由于刚性原因,某些动态页面响应时间超长时,WEB应用就无法满足海量用户高并发和数据调用的性能要求。传统的动态页面访问数据库的操作太多,导致数据库连接竞争激励,所以响应缓慢,但数据库连接又不能开太多,否则数据库压力会很高。
3、发明内容
(1)发明目的:
本发明方案的目的是解决传统基于J2EE的WEB应用存在的,由于全部动态页面数据都是实时生成导致的性能问题,针对海量用户,高并发和数据调用的性能需求,提出一种基于J2EE的WEB动态页面静态化的解决方案,减少数据库资源的竞争和对数据库读的压力。
(2)技术方案:
本发明技术方案是基于由数据库服务器组、应用服务器组、客户端三部分组成***。
一种基于J2EE的WEB动态页面静态化解决方法,步骤包括:
1)由静态页面生成应用模拟客户端请求,发送请求到原有的动态页面例如JSP,并将响应对象里的输出流指向到本地文件;
2)WEB应用读取由“静态页面生成应用”生成的静态页面。
静态页面生成好以后,用户对WEB应用(如移动的BOSS***、电信的营销支撑***)的动态页面地址的访问就会重定向响应的静态页面。
具体来说,首先,从配置文件config.xml中读取生成静态页面的相关参数;
例如:
上面的配置中,每一个page元素,表示一个需要静态化的页面;name元素,用来说明这个页面的主要用途;type元素用来描述这个是全页面静态化(ALL),还是部分页面静态化(PART),另外这个参数将决定,页面将来存储的位置;url标签就是动态页面所在的地址;parameters元素是一个集合,下面的parameter元素表示需要传入到url所指定的动态页面需要的参数。
然后,“静态页面生成应用”在实现javax.servlet.Filter接口的过滤器中发送请求到动态页面,动态页面将结果响应给静态页面生成应用的过滤器;当过滤器接收到动态页面响应时,将数据流指向到配置好的静态文件中,即将动态页面的处理结果输出到静态页面。
动态页面静态化的粒度可以通参数来灵活选择。
在config.xml中type元素用来描述这个是全页面静态化(ALL),还是部分页面静态化(PART),另外这个参数将决定,页面将来存储的位置。所述过滤器将从配置文件中读取type参数,并根据type参数,将文件流指向到不同的存储空间。比如,全页面静态化的文件放在/data/pages/all下,而部分页面静态化的文件放在/data/pages/parts下。
所述的静态化策略包括:
1)对每个需要静态化的动态页面,每天凌晨,在用户上班前生成好一套静态页面;
2)对个别需要静态化的动态页面,在策略1)的基础上,还支持客户手动更新,更新完毕后,重定向到新生成的静态页面。
上述的手动更新,举例来说,步骤如下:
首先在crontab中配置好启动时间,在程序启动后,Main.java先读取config.xml中的配置信息。Main.java发送请求到config.xml中配置的url地址。在url地址所在的web应用程序中,存在一个实现了javax.servlet.Filter接口的过滤器类,以下统称过滤器,在过滤器中,也会加载config.xml中的信息,并将response的输出流改成指向到本地文件的文件流,静态页面文件存储的位置由config.xml中的type属性来判断,从而决定是放在/data/pages/all下还是/data/pages/parts下。这样,当处理完请求以后,就会将结果输出到指定的文件中。
然后,当客户访问这个原有应用的某个配置好的地址时,就将访问某个生成好的静态页面。当需要更新页面上的数据时,点击页面上的“刷新数据”按钮,将访问动态页面的url地址(以下与上一步基本相同)再由过滤器将response的输出流指向到web服务器的指定文件中,当动态页面将数据从数据库中捞出来,并生成好响应流以后,就会把输出写到指定的文件中。当文件生成好以后,过滤器再将请求重定向到新的静态页面,再有服务器响应到客户端,这时客户就可以访问新的页面(数据)了。
本方法的有益效果是,采用基于J2EE的动态页面静态化解决方案,程序上不做修改,就能够很好的减少应用服务器的压力和数据库连接资源的竞争。相比原来的直接访问WEB应用的动态页面,WEB服务器的高峰期的cpu使用率由原来的100%降到了60%。相关功能对数据库连接资源的竞争由原来的80%降到了0%,因为这时没有数据库连接。高并发环境下响应速度快。
4、附图说明
图1.***架构图;
图2.动态页面静态化实施流程图。
5、具体实施方式
下面结合附图和具体实施方式对本发明进一步说明。
本方法是基于由数据库服务器组、应用服务器组、客户端三部分组成的***。
***架构示意图如图1所示;
1.数据库服务器组:
应用服务器组上数据库实例,如ORACLE等。
2.应用服务器组:
应用服务器组上部署WEB中间件,如WEBLOGIC等,WEB应用和生成静态页面应用。
3.客户端:
客户端使用WEB浏览器访问***。
策略一:
对每个需要静态化的动态页面,每天凌晨,在用户上班前生成好一套静态页面。
策略二:
对个别需要静态化的动态页面,在策略一的基础上,还支持客户手动更新,更新完毕后,重定向到新生成的静态页面。
动态页面生成静态页面的方法:1、模拟客户端请求,发送请求到原来的动态页面例如JSP,并将响应对象里的输出流指向到本地文件。2、WEB应用读取由静态页面生成应用生成的静态页面。
首先,读取配置文件获取生成静态页面的相关参数;然后,静态页面生成应用,在过滤器中发送请求到动态页面,动态页面将结果响应给静态页面生成应用的过滤器;当过滤器接收到动态页面响应时,将数据流指向到配置好的静态文件中,即将动态页面的处理结果输出到静态页面。静态页面生成好以后,用户对WEB应用的动态页面地址的访问就会重定向响应的静态页面。
本例中,动态页面静态化具体的实施步骤:
自主实现部分:通过过滤器截获请求,然后重定向数据流到指点文件。实现核心细节:
在应用服务器组上部署静态页面生成应用;先部署WEB应用,再部署静态页面生成应用,让后配置NFS映射。
对于不同的动态页面配置不同的静态化策略;由于两种策略的不动点就是是否支持手工刷新,那么就对需要手工刷新的页面上加上主动刷新按钮即可。采取策略的依据主要是根据用户的需求。其次,就是将对应的动态页面生成静态页面对***资源的占用情况。
针对动态化对象选择静态化页面的粒度;当动态页面中只有部分数据响应慢时,就对这块数据静态化,粒度可以定位单个或者部分数据。当大部分数据响应比较慢时,可以对整个页面静态化,粒度可以定位这个页面。
Claims (1)
1.一种基于J2EE的WEB动态页面静态化解决方法,其特征是步骤包括:
1)由静态页面生成应用模拟客户端请求,发送请求到原有的动态页面,并将响应对象里的输出流指向到本地文件;
2)WEB应用读取由“静态页面生成应用”生成的静态页面;
静态页面生成好以后,用户对WEB应用的动态页面地址的访问就会重定向响应的静态页面;
具体来说,首先,读取配置文件获取生成静态页面的相关参数;然后,然后静态页面生成应用在过滤器中发送请求到动态页面,动态页面将结果响应给“静态页面生成应用”的过滤器;当过滤器接收到动态页面响应时,将数据流指向到配置好的静态文件中,即将动态页面的处理结果输出到静态页面;
所述静态页面的生成策略即静态化的策略包括:
a)对每个需要静态化的动态页面,每天凌晨,在用户上班前生成好一套静态页面;
b)对个别需要静态化的动态页面,在策略a)的基础上,还支持客户手动更新,更新完毕后,重定向到新生成的静态页面;
手动更新方法,步骤如下:
b1)首先配置好启动时间,程序启动后,先读取配置文件中的配置信息:
先发送请求到配置文件中配置的url地址;在url地址所在的web应用程序中,存在实现了javax.servlet.Filter接口的过滤器类,在该过滤器中,也会加载配置文件中的信息,并将response的输出流改成指向到本地文件的文件流,静态页面存储的位置由配置文件来判断,当处理完请求以后,就会将结果输出到指定的文件中;
b2)然后,当这个原有应用的某个配置好的地址被访问时,就将访问生成好的静态页面;当需要更新页面上的数据时,则刷新数据来访问到动态页面的url地址,方法与步骤1)相同;再由过滤器将response的输出流指向到web服务器的指定文件中,当动态页面将数据从数据库中捞出来,并生成好响应流以后,就会把输出写到指定的文件中;当文件生成好以后,过滤器再将请求重定向到新的静态页面,再由服务器响应到客户端,这时就可以访问新的页面/数据了;
通过参数来灵活选择动态页面静态化的粒度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010105969 CN101789012B (zh) | 2010-02-03 | 2010-02-03 | 基于j2ee的web动态页面静态化解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010105969 CN101789012B (zh) | 2010-02-03 | 2010-02-03 | 基于j2ee的web动态页面静态化解决方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789012A CN101789012A (zh) | 2010-07-28 |
CN101789012B true CN101789012B (zh) | 2013-03-20 |
Family
ID=42532226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010105969 Expired - Fee Related CN101789012B (zh) | 2010-02-03 | 2010-02-03 | 基于j2ee的web动态页面静态化解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789012B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411571A (zh) * | 2010-09-21 | 2012-04-11 | 上海众融信息技术有限公司 | 一种动态网页的静态化信息处理方法及装置 |
CN102654882A (zh) * | 2011-03-02 | 2012-09-05 | 北京千橡网景科技发展有限公司 | 用于加载页面的方法和设备 |
CN105094779A (zh) * | 2014-05-14 | 2015-11-25 | 北大方正集团有限公司 | 一种页面设计方法 |
CN105391789B (zh) * | 2015-11-26 | 2018-10-23 | 南京莱斯信息技术股份有限公司 | 一种基于jsp模板的动态服务实现方法 |
CN106372228A (zh) * | 2016-09-08 | 2017-02-01 | 福建中金在线信息科技有限公司 | 一种移动端生成静态页的方法以及*** |
CN107357897A (zh) * | 2017-07-13 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种实现用户访问控制的方法、装置及计算机存储介质 |
CN107861771B (zh) * | 2017-11-02 | 2022-05-06 | 深圳市雷鸟网络传媒有限公司 | 加载弹出页面数据的方法、装置及计算机可读存储介质 |
CN109032797A (zh) * | 2018-07-18 | 2018-12-18 | 上海恺英网络科技有限公司 | 用于提供网页访问的方法及设备 |
CN110516185B (zh) * | 2019-08-09 | 2022-04-22 | 济南浪潮数据技术有限公司 | 动态网站的处理方法及装置 |
CN112398736B (zh) * | 2020-10-20 | 2023-02-21 | 南京欣网互联网络科技有限公司 | 一种根据业务参数实现服务路由的动态选择的方法及*** |
CN112667950A (zh) * | 2021-01-07 | 2021-04-16 | 青海绿能数据有限公司 | 一种动态页面静态化*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998057276A1 (en) * | 1997-06-12 | 1998-12-17 | Yahoo, Inc. | Dynamic page generator |
US20030140100A1 (en) * | 2002-01-18 | 2003-07-24 | Sam Pullara | System and method for URL response caching and filtering in servlets and application servers |
CN101183395A (zh) * | 2007-12-25 | 2008-05-21 | 北京中企开源信息技术有限公司 | 一种实现动态页面静态化的方法和*** |
CN101510220A (zh) * | 2009-03-27 | 2009-08-19 | 阿里巴巴集团控股有限公司 | 一种向用户端推送浮出页面的方法、装置及*** |
-
2010
- 2010-02-03 CN CN 201010105969 patent/CN101789012B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998057276A1 (en) * | 1997-06-12 | 1998-12-17 | Yahoo, Inc. | Dynamic page generator |
US20030140100A1 (en) * | 2002-01-18 | 2003-07-24 | Sam Pullara | System and method for URL response caching and filtering in servlets and application servers |
CN101183395A (zh) * | 2007-12-25 | 2008-05-21 | 北京中企开源信息技术有限公司 | 一种实现动态页面静态化的方法和*** |
CN101510220A (zh) * | 2009-03-27 | 2009-08-19 | 阿里巴巴集团控股有限公司 | 一种向用户端推送浮出页面的方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN101789012A (zh) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101789012B (zh) | 基于j2ee的web动态页面静态化解决方法 | |
Dou et al. | Misco: a mapreduce framework for mobile systems | |
CN102223398B (zh) | 一种部署在云计算环境中部署服务的方法 | |
Ou et al. | An effective offloading middleware for pervasive services on mobile devices | |
CN101106578B (zh) | 一种更换界面主题的方法和*** | |
CN101997854B (zh) | 一种提供数据服务的处理***及方法 | |
US20030051001A1 (en) | Method and system for delivering dynamic information in a network | |
KR100783679B1 (ko) | 데이터 스트림에 기반하는 서비스의 개발, 배치, 제공을용이하게 하는 미들웨어 시스템 | |
CN105094922A (zh) | 应用程序免安装运行控制方法及其装置 | |
CN109165050A (zh) | 程序的运行方法、装置、计算设备以及存储介质 | |
CN102938776A (zh) | 基于ajax技术的动态页面处理*** | |
WO2017167121A1 (zh) | 确定及运用应用程序之间的关系关联的方法及装置 | |
CN102088485A (zh) | 数据获取方法和装置 | |
CN103390018A (zh) | 一种基于SDD的Web服务数据建模与搜索方法 | |
CN100538650C (zh) | 基于组件的网格中间件互交互方法 | |
CN110764752A (zh) | 基于微服务架构实现Restful服务图形化服务编排的***及其方法 | |
CN101421719A (zh) | 管理网络响应缓冲行为 | |
JP2004529419A (ja) | ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法 | |
RajKumar et al. | Integrated educational information systems for disabled schools via a service bus using SOA | |
CN101464863A (zh) | 主从式架构的读取数据库以生成网页的***及方法 | |
Tanaka et al. | Meme media for clipping and combining web resources | |
CN114205233A (zh) | 一种面向数据管控的智能合约自适应配置与执行框架 | |
Kimbleton et al. | A perspective on network operating systems | |
Tanaka et al. | Low latency and resource-aware program composition for large-scale data analysis | |
CN113672579B (zh) | 一种基于webservice的档案同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130320 |