JFinal框架源碼分析(二)——JFinal控制器

【前面一節jfinal ——Handler 之 責任鏈模式(chain of Responsibility)html

前言:

源碼的分析是件很是考驗耐性和分析能力的苦力活,可是又是碼農翻身必經的一步。若是沒有掌握必定的方法,相信我,你會立馬關掉你的IDE。
第一步:創建宏觀面,這一步只須要了解就final大體的功能、架構、應用場景便可。
第二步:肯定範圍,你要知道,要是不提早肯定分析問題的邊界,你這個web源碼分析可以追溯到操做內核的二進制碼。
第三步:明確分析的目標,在肯定問題邊界的基礎上,進一步明確分析的jfinal框架研究的主體內容。這個具體關係到我的的知識結構,可能你的目標是java高級語法的使用方式、MVC架構的思想、AOP編程思想及其實現或是某個設計模式的使用.....
第四步:分解目標,逐個擊破,沒什麼好說的,要的就是堅持,試着在解決問題以前提出本身的疑惑。固然小目標不斷地迭代這個過程【重複步驟1-4】。
接下來看我操做↓:java

提出問題:

如何寫一個自定義的jfinal控制器?web

Jfinal控制器又是如何處理客戶端的請求的?編程

關於控制器Controller的類圖分析

用戶自定義的控制器(DemoController)繼承Controller方法:設計模式

Controller對象由動態ControllerFactory建立:
架構

每實例化一個Controller對象都會有一個相對應的Action對象與之對應。app

而ActionHandler、ActionReporter、ActionMapping對應。框架

用戶自定義的控制器的寫法
源碼分析

Jfinal控制器如何處理客戶端的請求

前面一節在JFinal框架源碼分析(一)——JFinal項目的啓動已經分析了jfinal項目的啓動過程,這裏再也不贅述。
接下來將重點關注客戶端的請求是如何加載controller類的。
項目啓動,初始化對象,包括ActionHandler
設計

ActionHandler經過反射機制加載Controller。

整個Controller的加載過程已經實現,具體細節須要跟蹤調試源碼,步進斷點,停留取值。

相關文章
相關標籤/搜索