自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于組件的機(jī)制的工作原理-SimpleFramework

開發(fā) 后端
本篇文章介紹了SimpleFramework框架的組件機(jī)制的工作原理,請大家參考。

生命周期:

了解SimpleFramework的生命周期將十分有利于有效地使用 SimpleFramework。這個生命周期包含如下一些步驟:

應(yīng)用程序的加載

原有的請求及響應(yīng)過程

攔截Respone所生成的HTML

解析XML中的元數(shù)據(jù)

Handle的執(zhí)行

組件渲染

新的HTML響應(yīng)到瀏覽器

應(yīng)用程序的加載

基于SimpleFramework的應(yīng)用程序可通過定義web.xml文件內(nèi)的Filter加載,該文件可載入到任何基于 Java EE 的應(yīng)用服務(wù)器。SimpleFramework同時提供了一個Web應(yīng)用程序的入口類,當(dāng)然,這不是必須的,但繼承自AbstractWebApplication可以更快捷的搭建Web應(yīng)用程序。下面是一個典型的配置示例:

  1. <servlet> 
  2.     <servlet-name>startup</servlet-name> 
  3.     <servlet-class>net.simpleframework.web.SimpleWebApplication</servlet-class> 
  4.     <load-on-startup>0</load-on-startup> 
  5. </servlet> 
  6. <filter> 
  7.     <filter-name>actionFilter</filter-name> 
  8.     <filter-class<net.simpleframework.web.page.PageFilter</filter-class> 
  9. </filter> 
  10. <filter-mapping> 
  11.     <filter-name>actionFilter</filter-name> 
  12.     <url-pattern>*.jsp</url-pattern> 
  13. </filter-mapping> 
  14. <listener> 
  15.     <listener-class>net.simpleframework.web.page.PageEventAdapter</listener-class> 
  16. </listener> 

 

 

原有的請求及響應(yīng)過程

該請求及響應(yīng)過程,SimpleFramework并沒有參與,所以,從理論上講,是可以兼容任何基于Servlet的框架,比如:Struts、SpringMVC等。

攔截Respone所生成的HTML

當(dāng)響應(yīng)(Respone)流中產(chǎn)生HTML文檔,在還沒有flush到瀏覽器的時候,SimpleFramework會接管該HTML文檔,并解析。

解析XML中的元數(shù)據(jù)

SimpleFramework解析請求中含有XML文件的元信息定義,這些信息是SimpleFramework組件的基礎(chǔ)。

Handle的執(zhí)行

如果定義了HandleClass,SimpleFramework則負(fù)責(zé)調(diào)用該Handle,并把結(jié)果送給渲染器。

組件渲染

渲染器(Render)根據(jù)組件的定義及Handle的執(zhí)行結(jié)果,生成對應(yīng)的HTML或Javascript等瀏覽器元素,以上三個步驟可詳見組件請求響應(yīng)過程。

新的HTML響應(yīng)到瀏覽器

***,SimpleFramework把重新組合的HTML推到瀏覽器端。如果,瀏覽器端含有異步請求的腳本,則重復(fù)執(zhí)行如上步驟。

組件請求響應(yīng)過程:

當(dāng)請求發(fā)現(xiàn)有xml描述文件存在時,Simple將獲取該請求資源的元信息和組件定義

Simple對響應(yīng)(Response)到瀏覽器的HTML進(jìn)行解析(Filter后處理),并產(chǎn)生HTML解析樹

根據(jù)請求資源的元信息,改寫HTML解析樹。請求資源的元信息主要包含以下幾個方面(屬性):

resourceProvider(資源提供者),定義該請求資源所需的一些基本信息,這些信息將生成HTML所依賴的一些資源及屬性,比如js、樣式、meta標(biāo)簽等,在Simple的缺省資源提供者實現(xiàn)中,需要依賴propotype.js庫

importJavascript、importCSS,定義請求資源所需的js和css

importPage,導(dǎo)入其它xml描述文件

scriptEval,定義腳本解析規(guī)則,有三個值:none、first、always,none是不解析腳本,這個是缺省定義,可以加快請求資源的速度;first是在***次實例化組件定義時解析腳本;always是在每次請求時都要解析腳本,并實例化組件定義

scriptContent,定義預(yù)執(zhí)行的腳本

handleClass,定義該請求資源所觸發(fā)的后臺類

根據(jù)請求資源的組件定義,改寫HTML解析樹,主要包含以下幾個部分:

獲取組件所需要的資源(js、css、jar等),并添加到HTML解析樹或類路徑下(jar庫)

運(yùn)行組件渲染器,渲染器有兩個核心功能:生成瀏覽器端渲染代碼和調(diào)用接口類(HandleClass)。渲染器有兩個主要實現(xiàn),一個是基于javascript的渲染器,作用是根據(jù)組件定義生成js代碼;一個是基于HTML的渲染器,作用是根據(jù)組件定義生成HTML代碼并添加到與HTML解析樹綁定的節(jié)點中

如下圖所示

 

責(zé)任編輯:金賀 來源: SimpleFramework.net
相關(guān)推薦

2011-04-22 10:13:35

SimpleFrame

2011-04-22 09:48:51

SimpleFrame

2011-04-22 10:34:09

SimpleFrame

2011-04-29 14:53:56

SimpleFrame

2011-07-01 11:16:14

Struts

2011-04-22 10:45:14

SimpleFrame

2013-12-05 13:46:51

2017-04-05 10:06:59

工作流界面抽象組件

2010-05-19 13:29:59

2023-12-27 08:33:47

垃圾回收機(jī)制

2011-07-18 14:08:08

2023-04-10 23:05:54

NacosOpenFeignRibbon

2024-12-18 21:37:24

2011-04-21 10:59:44

SimpleFrameWeb

2011-04-29 10:58:11

SimpleFrame

2009-07-06 12:32:26

JSP引擎

2019-08-20 14:01:22

HTTPSSSL協(xié)議

2010-08-02 16:14:54

2013-06-04 13:53:30

OSPF路由協(xié)議OSPF協(xié)議OSPF

2020-05-19 09:11:20

機(jī)器學(xué)習(xí)技術(shù)數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號