springmvc源码分析--处理器适配器handlerAdapter

1.在DispatherServlet执行完getHandler方法返回handlerExecutionChain后。下一步找处理器适配器处理处理请求。

springmvc源码分析--处理器适配器handlerAdapter_第1张图片

2.我们进入getHandlerAdapter()

同样首先遍历所有的handlerAdapter。默认在dispather.properties有三个处理器适配器HttpRequestHandlerAdapter, simpleControllerHandlerAdapter,AnnotaionMethodHandlerAdapter.

springmvc源码分析--处理器适配器handlerAdapter_第2张图片

3.所有handlerAdapter有两个方法supports,handler(还有一个getLastModified)。supports就是是否支持,或者是否处理这个请求,若支持就调用handler方法。httpRequestHandlerAdaptor他的supports就是判断handler是否实现了httpRequestHandler接口。一旦找到第一个支持请求的handlerAdapter就返回具体的handlerAdapter。

springmvc源码分析--处理器适配器handlerAdapter_第3张图片

4.拿到实际处理请求的handlerAdapter之后。返回doDispather方法,通过ha(handlerAdapter)执行handler方法,就是调用处理器的handler方法。返回ModelAndView。



你可能感兴趣的:(java,springmvc源码分析)