基于组件的机制的工作原理-SimpleFramework
创始人
2024-07-26 14:31:30
0

生命周期:

了解SimpleFramework的生命周期将十分有利于有效地使用 SimpleFramework。这个生命周期包含如下一些步骤:

应用程序的加载

原有的请求及响应过程

拦截Respone所生成的HTML

解析XML中的元数据

Handle的执行

组件渲染

新的HTML响应到浏览器

应用程序的加载

基于SimpleFramework的应用程序可通过定义web.xml文件内的Filter加载,该文件可载入到任何基于 Java EE 的应用服务器。SimpleFramework同时提供了一个Web应用程序的入口类,当然,这不是必须的,但继承自AbstractWebApplication可以更快捷的搭建Web应用程序。下面是一个典型的配置示例:

  1.  
  2.     startup 
  3.     net.simpleframework.web.SimpleWebApplication 
  4.     0 
  5.  
  6.  
  7.     actionFilter 
  8.      
  9.  
  10.  
  11.     actionFilter 
  12.     *.jsp 
  13.  
  14.  
  15.     net.simpleframework.web.page.PageEventAdapter 
  16.  

 

 

原有的请求及响应过程

该请求及响应过程,SimpleFramework并没有参与,所以,从理论上讲,是可以兼容任何基于Servlet的框架,比如:Struts、SpringMVC等。

拦截Respone所生成的HTML

当响应(Respone)流中产生HTML文档,在还没有flush到浏览器的时候,SimpleFramework会接管该HTML文档,并解析。

解析XML中的元数据

SimpleFramework解析请求中含有XML文件的元信息定义,这些信息是SimpleFramework组件的基础。

Handle的执行

如果定义了HandleClass,SimpleFramework则负责调用该Handle,并把结果送给渲染器。

组件渲染

渲染器(Render)根据组件的定义及Handle的执行结果,生成对应的HTML或Javascript等浏览器元素,以上三个步骤可详见组件请求响应过程。

新的HTML响应到浏览器

***,SimpleFramework把重新组合的HTML推到浏览器端。如果,浏览器端含有异步请求的脚本,则重复执行如上步骤。

组件请求响应过程:

当请求发现有xml描述文件存在时,Simple将获取该请求资源的元信息和组件定义

Simple对响应(Response)到浏览器的HTML进行解析(Filter后处理),并产生HTML解析树

根据请求资源的元信息,改写HTML解析树。请求资源的元信息主要包含以下几个方面(属性):

resourceProvider(资源提供者),定义该请求资源所需的一些基本信息,这些信息将生成HTML所依赖的一些资源及属性,比如js、样式、meta标签等,在Simple的缺省资源提供者实现中,需要依赖propotype.js库

importJavascript、importCSS,定义请求资源所需的js和css

importPage,导入其它xml描述文件

scriptEval,定义脚本解析规则,有三个值:none、first、always,none是不解析脚本,这个是缺省定义,可以加快请求资源的速度;first是在***次实例化组件定义时解析脚本;always是在每次请求时都要解析脚本,并实例化组件定义

scriptContent,定义预执行的脚本

handleClass,定义该请求资源所触发的后台类

根据请求资源的组件定义,改写HTML解析树,主要包含以下几个部分:

获取组件所需要的资源(js、css、jar等),并添加到HTML解析树或类路径下(jar库)

运行组件渲染器,渲染器有两个核心功能:生成浏览器端渲染代码和调用接口类(HandleClass)。渲染器有两个主要实现,一个是基于javascript的渲染器,作用是根据组件定义生成js代码;一个是基于HTML的渲染器,作用是根据组件定义生成HTML代码并添加到与HTML解析树绑定的节点中

如下图所示

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...