源碼跟蹤-springmvc(三):RequestMappingHandlerMapping

DispatcherServlet.getHandler

protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {
        if (this.handlerMappings != null) {
            for (HandlerMapping mapping : this.handlerMappings) {
                HandlerExecutionChain handler = mapping.getHandler(request);
                if (handler != null) {
                    return handler;
                }
            }
        }
        return null;
    }

DispatcherServlet.getHandler方法真正調(diào)用的其實(shí)就是RequestMappingHandlerMapping.getHadler方法,返回的HandlerExecutionChain中有真正的handler和3個攔截器,分別是LongTaskTimingHandlerInterceptorConversionServiceExposingInterceptorResourceUrlProviderExposingInterceptor

  1. RequestMappingHandlerMapping是怎么通過request定位到對應(yīng)的handler的
  2. RequestMappingHandlerMapping怎么獲取到攔截器的,如果我要寫個攔截器,應(yīng)該怎么配置,有什么注意事項(xiàng)

//todo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容