HandlerExecutionChain:由HandlerMethod和Interceptor集合组成的类,会被HandlerMapping接口的getHandler方法获取。
HandlerInterceptor接口:Spring拦截器基础接口
AbstractHandlerMapping:HandlerMapping的基础抽象类
AsyncHandlerInterceptor:继承HandlerInterceptor接口,额外提供了afterConcurrentHandlingStarted方法,该方法用来处理异步请求。
Web请求被DispatcherServlet截获后,会调用DispatcherServlet的doDispatcher方法。
HandlerExecutionChain mappedHandler = null; mappedHandler = getHandler(processedRequest); HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());
首先得到HandlerExecutionChain对象,这个对象包含了HandlerMethod和Interceptors集合,并根据其中的HandlerMethod得到HandlerAdapter。
在HandlerAdapter处理之后,以及处理完成之后会调用HandlerExecutionChain的applyPreHandle、applyPostHandle方法。