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

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