springMVC 中的HandlerAdapter和HandlerMapping

springMVC在初始化自己的上下文之后就会进行initStrategies方法进行初始化组件

HttpServletBean是实现了获取web.xml中的配置元素的值;FrameworkServlet实现了SpringMVC上下文并根据不同的DispatcherServlet放在以servlet-name为key值severtContext中;DispatcherServlet主要实现了初始化SpringMVC组件元素。

先来看一下init方法有哪些内容:

protected void initStrategies(ApplicationContext context) {
        this.initMultipartResolver(context);
        this.initLocaleResolver(context);
        this.initThemeResolver(context);
        this.initHandlerMappings(context);
        this.initHandlerAdapters(context);
        this.initHandlerExceptionResolvers(context);
        this.initRequestToViewNameTranslator(context);
        this.initViewResolvers(context);
        this.initFlashMapManager(context);
    }
  • this.initMultipartResolver(context); 初始化文件上传的组件
  • this.initLocaleResolver(context); 初始化用户区域解析器 具体可以参考

https://blog.csdn.net/rj042/article/details/23354225

  • this.initThemeResolver(context); 主题解析器
  • this.initHandlerMappings(context); handler映射,这篇后面会重点说这个
  • this.initHandlerAdapters(context); 初始化HandlerAdapter 我们每次调用的请求最终都会由这个来处理

后面很多初始化组件就不一一细说了,这篇主要讲HandlerMapping和HandlerAdapter

HandlerMapping

编写springMVC controller时候,springmvc提供了很方便的注解@Controller,一个HandlerMapping就对应这一个HandlerMapping,所以HandlerMapping记录着我们注解@Controller的那个类。

HanderAdapter

Controller里面有很多具体的请求所对应的方法,即一个HTTP请求最终会由相对应的HandlerAdapter来处理,

在,即一个controller里面有几个HTTP请求服务,那么一个HandlerMapping中就有几个HandlerAdapter。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值