struts2_源碼學習_init()

struts2_源碼學習_目錄

作爲一個過濾器類,請求到達的第一步就是進行初始化,即init()操作。

StrutsPrepareAndExecuteFilter.init 

public void init(FilterConfig filterConfig) throws ServletException {
        //初始化InitOperations 
        InitOperations  init = new InitOperations();
        Dispatcher dispatcher = null;
        try {
             //獲取web.xml的Filter內的init-param參數配置
            FilterHostConfig config = new FilterHostConfig(filterConfig);
            //初始化日誌
            init.initLogging(config);
            //初始化dispatcher(分配器)
            dispatcher = init.initDispatcher(config);
            init.initStaticContentLoader(config, dispatcher);
            //當前請求運行之前的包含初始化的操作--僅產生PrepareOperations對象
            prepare = new PrepareOperations(dispatcher);
            //所有過濾器所包含運行操作--僅產生ExecuteOperations對象
            execute = new ExecuteOperations(dispatcher);
            //獲得設置struts所排除的url
            this.excludedPatterns = init.buildExcludedPatternsList(dispatcher);

            postInit(dispatcher, filterConfig);
        } finally {
            if (dispatcher != null) {
                dispatcher.cleanUpAfterInit();
            }
            init.cleanup();
        }
    }

接下來將我初始化日誌系統的操作:Logging System

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章