1. 程式人生 > >jfinal 執行機制,我的理解

jfinal 執行機制,我的理解

入口:

JFinalFilter  中

private Handler handler;  //子類中的ActionHandler.actionMapping包裝了  連結跟具體某個方法的對應關係(action),handle方法裡面的ActionInvocation包裝了Interceptor[],Controller

public void init(FilterConfig filterConfig)throws ServletException {

createJFinalConfig(filterConfig.getInitParameter("configClass"));

if (jfinal

.init(jfinalConfig, filterConfig.getServletContext()) ==false)

thrownew RuntimeException("JFinal init error!");

handler = jfinal.getHandler();

constants = Config.getConstants();

encoding = constants.getEncoding();

jfinalConfig.afterJFinalStart();

String contextPath = filterConfig.getServletContext().getContextPath();

contextPathLength = (contextPath ==null || "/".equals(contextPath) ? 0 : contextPath.length());

}

然後 去看  (jfinal.init  

private ActionMapping actionMapping;  //類似於/blog/[email protected]

boolean init(JFinalConfig jfinalConfig, ServletContext servletContext) {

this.servletContext = servletContext;

this

.contextPath = servletContext.getContextPath();

initPathUtil();

Config.configJFinal(jfinalConfig);// start plugin and init logger factory in this method

constants = Config.getConstants();

initActionMapping();

initHandler();

initRender();

initOreillyCos();

initTokenManager();

returntrue;

}


重點去看initActionMapping()

private void initActionMapping() {

actionMapping = new ActionMapping(Config.getRoutes(), Config.getInterceptors());

actionMapping.buildActionMapping();

}

buildActionMapping()這邊初始話的時候  就把所有的處理器 (handle) 和 訪問地址一一對應,並且   handle中的攔截器  都通過Config.getInterceptors()傳遞過去了

相關推薦

jfinal 執行機制理解

入口: JFinalFilter  中 private Handler handler;  //子類中的ActionHandler.actionMapping包裝了  連結跟具體某個方法的對應關係(action),handle方法裡面的ActionInvocation包裝了

maptask執行機制與小檔案的優化合並TextInputFormat

maptask並行度與決定機制     1)一個job任務map階段並行度由客戶端提交的任務所決定     2)每一個split分配一個maptask並行處理     3)預設情況下,split大小=block

簡述JAVA GC回收機制深入理解GC原理

什麼是“GC” 垃圾回收機制。 為什麼要用“GC” 眾所周知,JAVA 這語言,與C語言不同,Java記憶體(堆記憶體)的分配與回收由JVM垃圾收集器自動完成,比如 C語言自己定義的變數,不用時需要 自己回收這個變數 。JAVA 這就是自動完成了,自動檢測,無用的

每日一問:Android 訊息機制有必要再講一次!

堅持原創日更,短平快的 Android 進階系列,敬請直接在微信公眾號搜尋:nanchen,直接關注並設為星標,精彩不容錯過。 我 17 年的 面試系列,曾寫過一篇名為:Android 面試(五):探索 Android 的 Handler 的文章,主要講述的是 Handler 的原理相關面試題,然後簡單地給與

Apache Flink on K8s:四種執行模式該選擇哪種?

## 1. 前言 Apache Flink 是一個分散式流處理引擎,它提供了豐富且易用的API來處理有狀態的流處理應用,並且在支援容錯的前提下,高效、大規模的執行此類應用。通過支援事件時間(event-time)、計算狀態(state)以及恰好一次(exactly-once)的容錯保證,Flink迅速被很多

從一個多執行緒的例子理解Sleep的機制和用法

這個例子是兩個執行緒用於售票,保證輪流售票的有序性。 #include <windows.h> #include <iostream> DWORD WINAPI Fun1Proc(LPVOID lpParameter);//執行緒1 DWORD W

深入理解JVM_java代碼的執行機制01

功能 存在 oot 對象實例 符號 token 類型 格式 找對象 本章學習重點: 1、Jvm: 如何將java代碼編譯為class文件。 如何裝載class文件及如何執行class文件。 jvm如何進行內存分配和回收。 jvm多線程

JavaScript 函數聲明函數表達式匿名函數的區別深入理解立即執行函數(function(){…})()

之前 事件處理程序 logs cnblogs 函數調用 引擎 花括號 ava img function fnName(){xxxx}; // 函數聲明:使用function關鍵字聲明一個函數,在指定一個函數名。 //例如:(正常,因為 提升 了函數聲明,函

深入理解Dalvik虛擬機- 解釋器的執行機制

util dlink stat counter before expose 加鎖 enter 機制 Dalvik的指令運行是解釋器+JIT的方式,解釋器就

(轉載)理解的數字證書-1-公鑰私鑰和數字證書

rsa加密算法 流程 employ alice 人的 無法 什麽是 作者 alt 原文地址:https://www.cnblogs.com/hthf/p/4986507.html 英文原文地址: http://www.youdzone.com/signature.h

tomcat執行載入機制dns地址解析tcp/ip三握四揮(全)

一.瞭解從輸入url到顯示頁面過程中都發生了什麼:    1.通過url並利用DNS解析出目的主機的ip地址;     2.找到目標主機,建立TCP/IP連線;    3.Tomcat監聽

理解的軟體 架構模式MVC和分層

一、緣起     作為程式設計師,很容易天天被業務追逐著,抽不開時間修煉。有一天突然停了一下,忽地就會有一種悵然的感覺,過去的那些日子我學到了什麼? 有人很認真地說自己有10年經驗,有人笑說你不過是一年經驗用了10年而已。 二、師傅領進門 做人,做事,做架構

F() 表示式這裡的F理解是fast的意思用它能節省讀寫資料庫的時間在資料庫sql語言層面對欄位進行自增(+= 1)操作

1、F() 表示式,F我理解是fast的意思,用它能節省讀寫資料庫的時間,在資料庫sql語言層面對欄位進行自增(+= 1)操作,在Query Expressions章節介紹,這章沒讀過,趕緊收藏。 https://docs.djangoproject.com/en/2.1/ref/models/

程序/執行緒同步的方式和機制程序間通訊【轉】

(轉自:https://www.cnblogs.com/virusolf/p/5331946.html) 一、程序/執行緒間同步機制。 臨界區、互斥區、事件、訊號量四種方式臨界區(Critical Section)、互斥量(Mutex)、訊號量(Semaphore)、事件(Event)的區別

深入理解springioc機制以下為例子做理解

通過java反射機制來讀取applicationContext.xml的內容  該xml檔案內容如下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org

利用web work實現多執行緒非同步機制打造頁面單步除錯IDE

我們已經完成了整個編譯器的開發,現在我們做一個能夠單步除錯的頁面IDE,完成本章程式碼後,我們可以實現下面如圖所示功能: 頁面IDE可以顯示每行程式碼所在的行,單擊某一行,在改行前面會出現一個紅點表示斷點,點選Parsing按鈕後,進入單步除錯模式,然後每點一次step按鈕,頁

Python基礎(四)--- Python多執行緒介紹開啟執行緒的三種方式time模組joinDaemonLock、Rlock事件機制Timer

一、多執行緒介紹 --------------------------------------------------------- 1.threading用於提供執行緒相關的操作,執行緒是應用程式中工作的最小單元。 2.python當前版本的多執行緒庫沒有實現優先順序、執行緒組,執

這一次徹底弄懂 JavaScript 執行機制

本文的目的就是要保證你徹底弄懂javascript的執行機制,如果讀完本文還不懂,可以揍我。 文章轉自:https://juejin.im/post/59e85eebf265da430d571f89 不論你是javascript新手還是老鳥,不論是面試求職,還是日常開發

深入理解js引擎的執行機制

深入解讀js引擎的執行機制 最近在反省,很多知識都是隻會用,不理解底層的知識。所以在開發過程中遇到一些奇怪的比較難解決的bug,在思考的時候就會收到限制。所以,在這裡一點一點補充基礎知識吧。 在閱讀之前,請先記住兩點: js是單執行緒語言 js的Event Loop