上一章筆者講到關(guān)于struts2過濾器(Filter)的知識。讓我們了解到StrutsPrepareFilter和StrutsExecuteFilter的作用。特別是StrutsPrepareFilter做了重要的講解。從其中我們了解到Dispatcher類的重要性。而本章就是專對Dispatcher類的工作進行講解。從前面章節(jié)的機制圖片中我們橙黃色區(qū)里面看到FilterDispatcher。在筆者理解這里的FilterDispatcher相當(dāng)于Dispatcher類的工作。那么到底Dispatcher類做了哪一些的工作呢?本章就是筆者就會詳細的進行講解。那么在講解之前筆者還是有想把一些必要的知識說一下。從上一章中我們可以明白StrutsPrepareFilter類的主要工作有倆點:一是為struts2執(zhí)行做一些相關(guān)的準(zhǔn)備。如加載相關(guān)的配置信息。二是為struts2的request請求處理相關(guān)的信息。如設(shè)置編碼格式和找到對應(yīng)的action映射類。而這二點都離不開Dispatcher類的作用。甚至可以講大部分都要靠Dispatcher類來完成。筆者很想把Dispatcher類的源碼全部都POST上來??墒窍氲竭@樣子讀起來有一點吃力。所以筆者打算將來部分部分的POST上來進行講解。

調(diào)結(jié)者的準(zhǔn)備工作

在執(zhí)行struts2之前必然要加載一些相關(guān)信息。如配置文件struts.xml之類。沒有錯。StrutsPrepareFilter就是通過Dispatcher類來完成這一系列的工作的(下面代碼的紅色部分)。讓我們看一下Dispatcher類的代碼就是能夠明白。如下

StrutsPrepareFilte類:

Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

 1  public void init(FilterConfig filterConfig) throws ServletException { 2         InitOper