处理器适配器,主要是DispatcherServlet
用来调用handler
的。简单来说就是DispatcherServlet
根据handlerMapping
找到一个HandlerExecutionChain
。然后根据HandlerExecutionChain
里面的handler
来获取HandlerAdapter
。HandlerAdapter
调用handle
方法处理请求。
为啥要HandlerAdapter呢? 看名字,适配器模式。根据不同类型的handler在调用目标(方法)前提前进行相应处理。如何不用适配器模式,这部分相应处理就需要放到目标(方法)中。
HandlerAdapter提供了三个方法:
// 判断是否支持入参handler
boolean supports(Object handler);
//使用给定的handler处理请求 返回响应
ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception;
// 最后修饰标记,如何不支持handler,则返回 -1
long getLastModified(HttpServletRequest request, Object handler);
【1】AbstractHandlerMethodAdapter
未完待续…