您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關基于組件的機制的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,并把結果送給渲染器。
組件渲染
渲染器(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工作原理是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。