CN102495732B - Java环境下页面对象状态缓存的实现方法及系统 - Google Patents

Java环境下页面对象状态缓存的实现方法及系统 Download PDF

Info

Publication number
CN102495732B
CN102495732B CN201110402666.6A CN201110402666A CN102495732B CN 102495732 B CN102495732 B CN 102495732B CN 201110402666 A CN201110402666 A CN 201110402666A CN 102495732 B CN102495732 B CN 102495732B
Authority
CN
China
Prior art keywords
viewstate
page
self
buffer memory
state
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.)
Active
Application number
CN201110402666.6A
Other languages
English (en)
Other versions
CN102495732A (zh
Inventor
夏帮国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Founder International Co Ltd
Original Assignee
Founder International Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Founder International Co Ltd filed Critical Founder International Co Ltd
Priority to CN201110402666.6A priority Critical patent/CN102495732B/zh
Publication of CN102495732A publication Critical patent/CN102495732A/zh
Application granted granted Critical
Publication of CN102495732B publication Critical patent/CN102495732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种Java环境下页面对象状态缓存的实现方法及系统,所述方法包括:将JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象;通过ViewState完成对JSP页面上所述自定义对象状态的缓存。所述系统包括:改造模块:用于将JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象;缓存模块:用于通过ViewState完成对JSP页面上所述自定义对象状态的缓存。本发明实现了一整套成体系的页面级缓存机制体系,方便了Java程序员进行页面对象的控制。

Description

Java环境下页面对象状态缓存的实现方法及系统
技术领域
本发明涉及一种对象状态缓存的实现方法及系统,尤其涉及一种Java环境下页面对象状态缓存的实现方法及系统。
背景技术
HTML页面传输时是无状态,而在很多时候需要记录这些页面对象的状态。现今,ViewState是记录这些页面对象状态的一个很好的解决方案,在.Net环境下,具备了.Net环境下的ViewState能够在后台类中直接以对象的形式访问的功能,.netFramework把aspx页面上的控件定义为对象,可以进行前后台操作属性,这样使得控件成为页面级的对象,同时因为对象的属性开放,这样,通过ViewState功能,可以把页面上的服务器端组件状态缓存下来,从而使得程序员完成对页面对象的控制。
.Net框架下的对象体系已经是一套非常完善和成熟的技术体系了,程序员可以非常方便的使用基于该体系下的表单设计工具进行界面和代码的编写。但以上这些思想和工具是不可以直接面对Java环境的,因为Java环境下的页面是无对象可言,充其量称之为标签,因此,在.Net环境下的页面级缓存思路ViewState是无法满足Java环境下的使用的,从而使得程序员在Java环境下不能像在.Net环境下一样,完成对前端页面对象的操作,并且进行状态缓存。
发明内容
本发明的主要目的是提供一种Java环境下页面对象状态缓存的实现方法及系统,用以解决现有技术中程序员在Java环境下不能完成对前端页面对象的操作、并进行状态缓存的问题。
为解决上述问题,根据本发明的一个方面,提供了一种Java环境下页面对象状态缓存的实现方法。
一种Java环境下页面对象状态缓存的实现方法,用于服务端JSP页面在WEB端的HTML页面显示,其特征在于,所述方法包括将服务端JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象后通过视图状态(ViewState)完成对JSP页面上所述自定义对象状态的缓存。
优选的,所述方法中将JSP页面上的自定义标签改造成自定义对象包括如下步骤:
(1)将所述自定义标签置于所述JSP页面上,并统一定义所述自定义标签的属性名称,用以向缓存自动注册所述属性名称相关类型的对象,当所述自定义标签加载时,所述服务端自动向缓存收集注册好的标签后台对象,并进行回调;
(2)通过标签结束时执行功能(doEndTag)的标签注册事件,可以在此事件通过标签获取对应属性名称,再通过所述属性名称向缓存取得对应属性名称的对象;
(3)通过所述对象统一的绘制方法进行HTML绘制。
优选的,所述绘制方法为释放(Release)方法。
优选的,所述方法通过ViewState完成对JSP页面上所述自定义对象状态的缓存包括如下步骤:
在ViewState中向WEB页面写入用来进行页面缓存的所述自定义对象;
所述服务端记录所述自定义对象的状态,并写入到视图状态(_ViewState)对象,通过所述服务端记录向WEB端打印出来的方法将写入到_ViewState对象的字符串会打印到WEB端HTML;
以隐藏输入(Hidden)对象存在的_ViewState对象值,在第二次提交的时候传回到后台对象;
后台ViewState对象接收这些值,影响或记录住上次提交时对象的状态。
优选的,所述服务端记录下所述自定义对象的状态,并以加密的形式写入到_ViewState对象;
后台ViewState对象收到这些值后,进行解码、还原,影响或记录住上次提交时对象的状态。
本发明的另一目的在于提供一种Java环境下页面对象缓存的实现系统,用于服务端JSP页面输出到WEB端的HTML页面显示,其特征在于,所述系统包括设置在服务端的:
改造模块,用于将JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象;和,
缓存模块,用于通过ViewState完成对JSP页面上所述自定义对象状态的缓存。
优选的,所述改造模块还用于:
将所述自定义标签置于所述JSP页面上,并统一定义所述自定义标签的属性名称,用以向缓存自动注册所述属性名称相关类型的对象,当所述自定义标签加载时,所述服务端向缓存收集注册好的标签服务端对象,并进行回调;
通过doEndTag的标签注册事件,可以在此事件通过标签获取对应的所述属性名称,再通过所述属性名称向缓存取得对应该属性名称的对象;
通过所述对象统一的绘制方法进行HTML绘制。
优选的,所述缓存模块还用于:
在ViewState中向WEB端写入用来进行页面缓存的所述自定义对象;
所述后台记录下所述自定义对象的状态,并写入到_ViewState对象,通过所述后台记录前台打印出来的原理,这些写入到_ViewState对象的字符串会打印到前台HTML;
以Hidden对象存在的_ViewState,在第二次提交的时候传回到后台对象;
后台ViewState对象接收这些值,进而影响或记录住上次提交时对象的状态。
优选的,所述缓存模块还用于:
使得所述后台记录下所述自定义对象的状态,并以加密的形式写入到_ViewState对象;
使得后台ViewState对象收到这些值后,进行解码、还原,进而影响或记录住上次提交时对象的状态。
与现有技术相比,本发明的有益效果为:实现了一整套成体系的页面级缓存机制体系,方便了Java程序员进行页面对象的控制。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1是根据本发明实施例的Java环境下页面对象状态缓存的实现方法的主要步骤的示意图;
图2是根据本发明实施例的将JSP页面上的自定义标签改造成自定义对象的主要步骤的示意图;
图3是根据本发明实施例的通过ViewState完成对JSP页面上所述自定义对象状态的缓存的主要步骤的示意图;以及
图4是根据本发明实施例的Java环境下页面对象缓存的实现系统的主要模块的示意图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规使用的条件。
实施例
如图1所示,是根据本发明实施例的Java环境下页面对象状态缓存的实现方法的主要步骤的示意图。如图1所示,该方法包括如下的步骤:
步骤S1:将JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象。通过此步骤可使得放置在JSP页面上的自定义标签可以被Java后台类以对象的形式进行访问。
在步骤S1中,将JSP页面上的自定义标签改造成自定义对象的过程包括如图2所示的以下步骤:
步骤S11:将所述自定义标签置于所述JSP页面上,并统一定义所述自定义标签的属性名称,例如:将所述属性名称定义为ID,此ID的值会作为后台自定义对象的名称,例如:<FIX:TREEVIEW id=”TreeView1”/>。此时,系统会为所述自定义标签定义中间拦截器,用以向缓存自动注册所述属性名称ID相关类型的对象,例如:TreeView TreeView1=new TreeView()。当所述自定义标签加载时,所述服务端向缓存收集注册好的标签后台对象,并进行回调。
步骤S12:通过doEndTag的标签注册事件,可以在此事件通过标签获取对应的所述属性名称,例如:ID,再通过所述属性名称向缓存取得对应该属性名称的对象。
步骤S13:当获取所述对象后,通过所述对象统一的绘制方法进行HTML绘制,例如:所述绘制方法为Release。
步骤S2:通过ViewState完成对JSP页面上所述自定义对象状态的缓存。通过此步骤,使得所有前台的对象都可以在后台记录下来,也就是说后台是可控的。
在步骤S2中,通过ViewState完成对JSP页面上所述自定义对象状态的缓存包括如图3所示的以下步骤:
步骤S21:在ViewState中向前台写入用来进行页面缓存的所述自定义对象,例如:_EventTarget,_EventArgument,_ViewState,__doPostBack。
步骤S22:所述后台记录下所述自定义对象的状态,并写入到_ViewState对象,通过所述后台记录前台打印出来的原理,这些写入到_ViewState对象的字符串会打印到前台HTML。
步骤S23:以Hidden对象存在的_ViewState,在第二次提交的时候传回到后台对象。
步骤S24:后台ViewState对象接收这些值,进而影响或记录住上次提交时对象的状态。
在步骤S2中,优选地,可设有一加密过程,以提高操作的安全性,具体加密过程如下:在所述步骤S22中,所述后台记录下所述自定义对象的状态,并以加密的形式写入到_ViewState对象,通过所述后台记录前台打印出来的原理,这些写入到_ViewState对象的字符串会打印到前台HTML;在步骤S24中,后台ViewState对象收到这些值后,进行解码、还原,进而影响或记录住上次提交时对象的状态。
图4是根据本发明实施例的Java环境下页面对象缓存的实现系统的主要模块的示意图。如图4所示,Java环境下页面对象缓存的实现系统40主要包括改造模块和缓存模块。
改造模块:用于将JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象;缓存模块:用于通过ViewState完成对JSP页面上所述自定义对象状态的缓存。
所述改造模块还可用于:将所述自定义标签置于所述JSP页面上,并统一定义所述自定义标签的属性名称,用以向缓存自动注册所述属性名称相关类型的对象,当所述自定义标签加载时,所述服务端向缓存收集注册好的标签后台对象,并进行回调;通过doEndTag的标签注册事件,可以在此事件通过标签获取对应的所述属性名称,再通过所述属性名称向缓存取得对应该属性名称的对象;通过所述对象统一的绘制方法进行HTML绘制。
所述缓存模块还可用于:在ViewState中向前台写入用来进行页面缓存的所述自定义对象;所述后台记录下所述自定义对象的状态,并写入到_ViewState对象,通过所述后台记录前台打印出来的原理,这些写入到_ViewState对象的字符串会打印到前台HTML;以Hidden对象存在的_ViewState,在第二次提交的时候传回到后台对象;后台ViewState对象接收这些值,进而影响或记录住上次提交时对象的状态。
优选地,所述缓存模块还可用于:使得所述后台记录下所述自定义对象的状态,并以加密的形式写入到_ViewState对象;使得后台ViewState对象收到这些值后,进行解码、还原,进而影响或记录住上次提交时对象的状态。
根据本发明实施例的技术方案,通过将JSP页面上的自定义标签改造成自定义对象,然后再通过ViewState完成对JSP页面上所述自定义对象状态的缓存,实现了一整套成体系的页面级缓存机制体系,方便了Java程序员进行页面对象的控制。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

Claims (5)

1.一种Java环境下页面对象状态缓存的实现方法,用于服务端JSP页面在WEB端的HTML页面显示,其特征在于,所述方法包括将服务端JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象后通过视图状态完成对JSP页面上所述自定义对象状态的缓存;所述方法中将JSP页面上的自定义标签改造成自定义对象包括如下步骤:
(1)将所述自定义标签置于所述JSP页面上,并统一定义所述自定义标签的属性名称,用以向缓存自动注册所述属性名称相关类型的对象,当所述自定义标签加载时,所述服务端自动向缓存收集注册完成的标签后台对象,并进行回调;
(2)通过标签结束时执行功能的标签注册事件中的标签获取对应属性名称,再通过所述属性名称向缓存取得对应属性名称的对象;
(3)通过所述对象统一的绘制方法进行HTML绘制;
所述方法通过视图状态完成对JSP页面上所述自定义对象状态的缓存包括如下步骤:
在视图状态中向WEB页面写入用来进行页面缓存的所述自定义对象;
所述服务端记录所述自定义对象的状态,并写入到视图状态对象,通过所述服务端记录向WEB端打印出来的方法,且所述服务器将写入到视图状态对象的字符串打印到WEB端HTML;
视图状态对象的状态值以隐藏输入对象类型存在,在第二次提交的时候将视图状态对象状态值传回到服务端的视图状态对象;
服务端视图状态对象接收视图状态对象状态值,影响或记录住上次提交时自定义对象的状态。
2.根据权利要求1所述的Java环境下页面对象状态缓存的实现方法,其特征在于:所述绘制方法为释放方法。
3.根据权利要求1所述的Java环境下页面对象状态缓存的实现方法,其特征在于:
所述服务端记录下所述自定义对象的状态,并以加密的形式写入到视图状态对象;
服务器视图状态对象收到所述自定义对象的状态值后,进行解码、还原,影响或记录住上次提交时所述自定义对象的状态。
4.一种Java环境下页面对象状态缓存的实现系统,用于服务端JSP页面输出到WEB端的HTML页面显示,其特征在于,所述系统包括设置在服务端的:
改造模块,用于将JSP页面上的自定义标签改造成自定义对象,使得所述自定义标签成为页面级的对象;和,
缓存模块,用于通过视图状态完成对JSP页面上所述自定义对象状态的缓存;所述缓存模块还用于:
在视图状态中向WEB端写入用来进行页面缓存的所述自定义对象;
服务端记录下所述自定义对象的状态,并写入到视图状态对象,通过服务端记录WEB端打印出来的方法,且所述服务器将写入到视图状态对象的字符串打印到WEB端HTML;
视图状态对象的状态值以隐藏输入对象类型存在,在第二次提交的时候传回到服务端视图状态对象;
服务端视图状态对象接收视图状态对象状态值,进而影响或记录住上次提交时所述自定义对象的状态;
所述改造模块还用于:
将所述自定义标签置于所述JSP页面上,并统一定义所述自定义标签的属性名称,用以向缓存自动注册所述属性名称相关类型的对象,当所述自定义标签加载时,所述服务端向缓存收集注册完成的标签服务端对象,并进行回调;
通过标签结束时执行功能的标签注册事件中的标签获取对应的所述属性名称,再通过所述属性名称向缓存取得对应该属性名称的对象;
通过所述对象统一的绘制方法进行HTML绘制。
5.根据权利要求4所述的Java环境下页面对象状态缓存的实现系统,其特征在于,所述缓存模块还用于:
使得所述服务器记录下所述自定义对象的状态,并以加密的形式写入到视图状态对象;
使得服务器视图状态对象收到所述自定义对象的状态值后,进行解码、还原,进而影响或记录住上次提交时所述自定义对象的状态。
CN201110402666.6A 2011-12-07 2011-12-07 Java环境下页面对象状态缓存的实现方法及系统 Active CN102495732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110402666.6A CN102495732B (zh) 2011-12-07 2011-12-07 Java环境下页面对象状态缓存的实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110402666.6A CN102495732B (zh) 2011-12-07 2011-12-07 Java环境下页面对象状态缓存的实现方法及系统

Publications (2)

Publication Number Publication Date
CN102495732A CN102495732A (zh) 2012-06-13
CN102495732B true CN102495732B (zh) 2014-08-20

Family

ID=46187560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110402666.6A Active CN102495732B (zh) 2011-12-07 2011-12-07 Java环境下页面对象状态缓存的实现方法及系统

Country Status (1)

Country Link
CN (1) CN102495732B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987862A (zh) * 2005-12-22 2007-06-27 国际商业机器公司 用于分析网页中的变化的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582556B2 (en) * 2006-06-06 2013-11-12 At&T Intellectual Property Ii, L.P. Method and apparatus for maintaining state information on a client device configured for VOIP communication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987862A (zh) * 2005-12-22 2007-06-27 国际商业机器公司 用于分析网页中的变化的方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ASP.NET中的状态管理;赵若斌等;《计算机系统应用》;20031231(第2期);42-44 *
nothingisgod.jsp自定义标签(5):开发迭代的标签.《CSDN博客》.2011, *
赵若斌等.ASP.NET中的状态管理.《计算机系统应用》.2003,(第2期),

Also Published As

Publication number Publication date
CN102495732A (zh) 2012-06-13

Similar Documents

Publication Publication Date Title
JP5006348B2 (ja) 応答出力キャッシュに対するマルチキャッシュ協調
CN100591078C (zh) 一种网站缓存方法和一种网站缓存的装置
CN100438435C (zh) 一种限制浏览器访问网络地址的方法
CN106685905A (zh) 加密传输网页的系统和方法
CN102622348B (zh) 实现多个窗口同时对网络页面进行解析显示的方法和装置
CN107203541A (zh) 页面加载方法及其页面加载装置
EP1908213A4 (en) SAFE METHOD FOR SYNCHRONIZING CACHE CONTENT OF A MOBILE BROWSER WITH A SERVER FIELD
EP1890425A4 (en) DISTRIBUTED DATA MANAGEMENT SYSTEM AND METHOD FOR DATA-DYNAMIC SUBSCRIBING
CN103907329A (zh) 用于实现离线web应用执行的方法和装置
CN110750372A (zh) 基于共享内存的日志系统及日志管理方法
DE102019110501A1 (de) Fehlerkorrekturcode-speichersicherheit
CN102447551B (zh) Ack/nack捆绑
CN106961332A (zh) 一种权限认证方法及装置
CN105589919B (zh) 网页资源处理方法及装置
CN107015978A (zh) 一种网页资源处理方法以及装置
CN102804818A (zh) 用于提供订源中的媒体附件兼容的方法和装置
CN102880679A (zh) 一种网页信息存储方法和装置
KR20090009804A (ko) 네트워크 응답 버퍼링 거동을 관리하는 방법 및 그를 이용하는 컴퓨터 시스템
DE102022101490A1 (de) Technologien zur echtzeitaktualisierung von verschlüsselungsschlüsseln
CN109885347A (zh) 一种配置数据的获取方法、装置及终端、系统、存储介质
CN106355425A (zh) 电子凭证的核销码生成方法、电子凭证的核销方法及装置
CN103001786B (zh) 一种基于mml的大容量数据配置方法、服务器及系统
CN102495732B (zh) Java环境下页面对象状态缓存的实现方法及系统
TW200723014A (en) Computing system, method and computer readable media for group interactive multicast using UPnP AV architecture
JP2012507767A5 (zh)

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