HandlerAdapter具有什么功能呢?

java-教程王 SpringMVC 发布时间:2021-12-31 21:57:53 阅读数:12819 1
下文笔者将讲述HandlerAdapter的功能简介说明,如下所示:

HandlerAdapter的功能

HandlerAdapter:是一个处理器适配器
Spring MVC中借助HandlerAdapter来实际调用处理函数
DispatcherServlte会根据配置文件信息注册HandlerAdapter
DispatcherServlte会获取DispatcherServlte.properties文件
此文件中配置了三种HandlerAdapter分别为:
HttpRequestHandlerAdapter
SimpleControllerHandlerAdapter
AnnotationMethodHandlerAdapter
DispatcherServlte会将这三个HandlerAdapter对象保存到handlerAdapters这个集合属性中
当保存到相应的集合中时,则此时完成了HandlerAdapter的注册操作 

DispatcherServlte通过handlerMapping传过来的controller与注册的HandlerAdapter 进行匹配

当获取HandlerAdapter是支持该controller类型的
则调用HandlerAdapter的handle方法,handle方法中使用反射的方式运行Controller中的方法获取一个ModelAndView
例:
   SimpleControllerHandlerAdapter是支持并实现了controller接口的控制器
当自己写的控制器实现了controller接口,则SimpleControllerHandlerAdapter就会去执行自己写控制器中的具体方法来完成请求

HandlerAdapter的功能总结如下

 
 HandlerAdapter定义了如何处理请求的策略
  请求url、请求Method和处理器的requestMapping定义
 最终确定使用处理类的哪个方法来处理请求
并检查处理类相应处理方法的参数以及相关的Annotation配置
确定如何转换需要的参数传入调用方法,并最终调用返回ModelAndView 
 
 DispatcherServlet中根据HandlerMapping找到对应的handler method后
  首先检查当前工程中注册的所有可用的handlerAdapter
  根据handlerAdapter中的supports方法找到可以使用的handlerAdapter 

 通过调用handlerAdapter中的handler方法来处理及准备handler method的参数及annotation(这就是spring mvc如何将request中的参数变成handle method中的输入参数的地方)
最终调用实际的handler method。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringMVC/202112/2104.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者