基于组件的机制的SimpleFramework工作原理是什么 - 编程语言

博主:xiaoweixiaowei 2023-02-10 条评论

本篇文章给大家分享的是有关基于组件的机制的SimpleFramework工作原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

生命周期:

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

应用程序的加载

原有的请求及响应过程

拦截Respone所生成的HTML

解析XML中的元数据

Handle的执行

组件渲染

新的HTML响应到浏览器

应用程序的加载

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

<servlet>     <servlet-name>startup</servlet-name>     <servlet-class>net.simpleframework.web.SimpleWebApplication</servlet-class>     <load-on-startup>0</load-on-startup> </servlet> <filter>     <filter-name>actionFilter</filter-name>     <filter-class<net.simpleframework.web.page.PageFilter</filter-class> </filter> <filter-mapping>     <filter-name>actionFilter</filter-name>     <url-pattern>*.jsp</url-pattern> </filter-mapping> <listener>     <listener-class>net.simpleframework.web.page.PageEventAdapter</listener-class> </listener>

原有的请求及响应过程

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

拦截Respone所生成的HTML

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

解析XML中的元数据

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

Handle的执行

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

基于组件的机制的SimpleFramework工作原理是什么 - 编程语言

组件渲染

渲染器(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解析树绑定的节点中

如下图所示

以上就是基于组件的机制的SimpleFramework工作原理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注云行业资讯频道。

The End

发布于:2023-02-10,除非注明,否则均为 主机评测原创文章,转载请注明出处。