SpringMVC实现处理器适配器的两种方式

SpringMVC 通过 HandlerAdapter 的 handler 方法来调用请求处理函数。在 DispatcherServlet 中根据请求路径利用 Handlermapping 找到对应的 handler 后,首先检查当前 Ioc 容器中所有可用的 HandlerAdapter ,再利用 HandlerAdapter 中的 supports 方法找到可以使用的HandlerAdapter。

不同的适配器用于适配不同的Controller。下面介绍两个常用的HandleAdapter

一、SimpleControllerhandlerAdapter:  调用controller里面方法,返回modelAndView。

下面我们分析一下该类的源码:

SpringMVC实现处理器适配器的两种方式

在实现类中:

SpringMVC实现处理器适配器的两种方式

具体配置文件:

 

 
  1. <!-- 配置处理器适配器执行Controlelr ,springmvc默认的,可以不写。 -->

  2. <bean

  3. class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>

 

 

二、HttpRequestHandlerAdapter  

--复杂执行实现接口HttpRequestHandler 接口的Controller,接近于servlet开发。

实现方式:

SpringMVC实现处理器适配器的两种方式

 注:该方式只能跳转到物理视图地址.

  springmvc配置文件:

 

 
  1. <!-- HttpRequestHandlerAdapter负责执行实现接口HttpRequestHandler的后端 控制器。 -->

  2. <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>

 

 

注:两种适配器可以共存。

转载:https://blog.csdn.net/USTC_Zn/article/details/57177197