org.springframework.web.servlet.DispatcherServlet#doDispatch中
HandlerAdapter ha
= getHandlerAdapter(mappedHandler
.getHandler());
getHandlerAdapter方法
protected HandlerAdapter
getHandlerAdapter(Object handler
) throws ServletException
{
if (this.handlerAdapters
!= null
) {
for (HandlerAdapter adapter
: this.handlerAdapters
) {
if (adapter
.supports(handler
)) {
return adapter
;
}
}
}
HttpRequestHandlerAdapter
如果实现了HttpRequestHandler就走这个
public class HttpRequestHandlerAdapter implements HandlerAdapter {
@Override
public boolean supports(Object handler
) {
return (handler
instanceof HttpRequestHandler);
}
SimpleControllerHandlerAdapter
如果是实现了Controller接口就走这个
public class SimpleControllerHandlerAdapter implements HandlerAdapter {
@Override
public boolean supports(Object handler
) {
return (handler
instanceof Controller);
}
RequestMappingHandlerAdapter
public final boolean supports(Object handler
) {
return (handler
instanceof HandlerMethod && supportsInternal((HandlerMethod
) handler
));
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-42208.html