HttpRequestHandlerAdapter和SimpleControllerHandlerAdapter的不同

HttpRequestHandlerAdapter和SimpleControllerHandlerAdapter都是处理器映射器。

HttpRequestHandlerAdapter底层是调用HttpRequestHandler.handlerRequest(request,response);

SimplerControllerHandlerAdapter底层调用Controller.handlerRequest(request,response).

HttpRequestHandlerAdapter源码:HttpRequestHandlerAdapter和SimpleControllerHandlerAdapter的不同


SimpleControllerHandlerAdapter源码:

HttpRequestHandlerAdapter和SimpleControllerHandlerAdapter的不同


你的自定义Controller如果实现的是Controller接口,则需要使用SimpleControllerHandlerAdapter适配器来执行自定义Controller,从源码可以看出来,如果使用HttpRequestHandlerAdapter无法把Controller转换为HttpRequestHandler,执行时会报错:

HttpRequestHandlerAdapter和SimpleControllerHandlerAdapter的不同

HttpRequestHandlerAdapter和SimpleControllerHandlerAdapter的不同