1.springmvc中HttpRequestHandlerAdapter继承体系
2.概述
HttpRequestHandlerAdapter处理实现了HttpRequestHandler接口的处理器,处理请求直接调用HttpRequestHandler接口的handleRequest方法,它和SimpleControllerHandlerAdapter不同的是SimpleControllerHandlerAdapter返回ModelAndView,而HttpRequestHandlerAdapter没有返回值
3.HttpRequestHandlerAdapter源码
springmvc组件HandlerAdapter源码-HttpRequestHandlerAdapter_LouD_dm的博客-CSDN博客
4.请求处理
实现了HandlerAdapter的supports方法,如果处理器是HttpRequestHandler接口的子类进行处理
@Override
public boolean supports(Object handler) {
return (handler instanceof HttpRequestHandler);
}
实现了HandlerAdapter的handle方法,直接强转HttpRequestHandler接口调用handleRequest方法
@Override
@Nullable
public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
((HttpRequestHandler) handler).handleRequest(request, response);
return null;
}