HandlerMapping

初始化时候的 HandlerMapping 有,按顺序排列:

  1. requestMappingHandlerMapping
  2. beanNameHandlerMapping -> {BeanNameUrlHandlerMapping}
  3. routerFunctionMapping
  4. resourceHandlerMapping -> {SimpleUrlHandlerMapping@8294}
  5. welcomePageHandlerMapping

HandlerMapping 中 Handler可能的值:

在 HandlerInternal 中

  1. controller 的 bean 名称
  2. 如果是 bean 名称 spring mvc 会自动转化为 controller 的实例

    然后对外会封装成一个 HandlerMethod 对象

在 HandlerExecutionChain 中

handler 就是 上一步的 HandlerMethod 对象

然后会根据 handler 和拦截器一起封装成一个 HandlerExecutionChain 对象返回到 DispatcherServlet,在DispathcerServlet中的handler,就是这个封装好的HandlerExecutionChain对象

spring mvc 对应 controller 方法的对象叫 RequestMappingInfo

对应的 controller 叫 HandlerMapping

[随记]-SpringMVC中的handler到底是什么东西的更多相关文章

  1. JS事件处理函数中return false到底是什么东西

    在<JS DOM编程艺术>一书中,用return false来阻止事件默认行为,可是js高程3里没有这种用法,那这到底是什么呢. 先看一下知乎的一个解释 就此问题,首先要纠正两个观点: 1 ...

  2. JavaEE开发之SpringMVC中的自定义消息转换器与文件上传

    上篇博客我们详细的聊了<JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术>,本篇博客依然是JavaEE开发中的内容,我们就来聊一下SpringMVC中的自定义消息转发器 ...

  3. Python中的logger和handler到底是个什么鬼

    最近的任务经常涉及到日志的记录,特意去又学了一遍logging的记录方法.跟java一样,python的日志记录也是比较繁琐的一件事,在写一条记录之前,要写好多东西.典型的日志记录的步骤是这样的: 创 ...

  4. 关于springMVC中component-scan的问题以及springmvc.xml整理

    关于springMVC中component-scan的问题以及springmvc.xml整理 一.component-scan问题和解决办法         最近在学习使用springMVC+myba ...

  5. 详解SpringMVC中Controller的方法中参数的工作原理

    Spring MVC中Controller的处理方法的参数可以是Integer,String,自定义对象,ServletRequest,ServletResponse,ModelAndView等等,非 ...

  6. SpringMVC中使用Interceptor拦截器

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...

  7. springmvc中RequestMapping的解析

    在研究源码的时候,我们应该从最高层来看,所以我们先看这个接口的定义: package org.springframework.web.servlet; import javax.servlet.htt ...

  8. 9.springMVC中的拦截器

    springMVC中的拦截器大概大致可以分为以下几个步骤去学习: 1.自定义一个类实现HandlerInterceptor接口,这里要了解其中几个方法的作用 2.在springMVC的配置文件中添加拦 ...

  9. 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]

    目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...

  10. SpringMvc中Interceptor拦截器用法

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆等. 一. 使用场景 1 ...

随机推荐

  1. jconsole配置

    使用jconsole远程监控可执行jar(非Tomcat)运行状况的配置 程序启动参数配置: nohup /data/soft/jdk1.8.0_251/bin/java -Dcom.sun.mana ...

  2. 如何为 .NET 在线客服系统的 Open Api 开放接口实现 QPS 限流功能

    我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统.陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户. 而我收到的用户需求也越来越多,产品化的 ...

  3. Android Service后台服务进程意外被kill掉之后如何重启

    Service组件在android开发中经常用到,经常作为后台服务,需要一直保持运行,负责处理一些不必展示的任务.而一些安全软件,会有结束进程的功能,如果不做Service的保持,就会被其杀掉. 那么 ...

  4. 【Python】函数传参的方式

    学习笔记//20230402 edit 1.传参类型 值传递 引用传递 就像C++的参数传递: 值传递时值把实参的值传递给function, function 内对形参的修改不会影响实参; 引用传递时 ...

  5. 【ABAQUS 二次开发笔记】读入TXT分析结果&输出csv文件

    abaqus分析之后,很多结果可以输出dat,msg,sta等文件中.可以用记事本.notpad++.editplus等软件打开编辑. 但是往往无法直接用excel.origin等软件打开,比如对结构 ...

  6. hexo 本地启动项目 hexo-browsersync 不工作原因总结

    问题 1 : hexo-server 开启 compress 压缩后 hexo-browsersync 插件热更新完全无效,没办法自动刷新 此问题表现在 hexo 任何版本 问题原因: hexo-se ...

  7. python list 差集

    前言 有时候我们希望基于list得到一个集合C,该集合C的元素可以被描述为元素在集合A中而不在集合B中.即:差集. 基于set A = [1, 2, 3] B = [2, 3, 4] C = set( ...

  8. 1、从DeepSeek API调用到Semantic Kernel集成:深度解析聊天机器人开发全链路

    引言:AI时代下的聊天机器人开发范式演进 在生成式AI技术爆发的当下,基于大语言模型(LLM)的聊天机器人开发已形成标准化技术链路.本文将结合DeepSeek API与微软Semantic Kerne ...

  9. HoloLens 2 开发推荐书籍

    博客地址:https://www.cnblogs.com/zylyehuo/ 书名 HoloLens 2开发入门精要--基于Unity和MRTK http://www.tup.tsinghua.edu ...

  10. oracle服务 linux启动命令

    一.Linux下启动Oracle Linux下启动Oracle分为两步: 1)启动监听: 2)启动数据库实例: 1.登录服务器,切换到oracle用户,或者以oracle用户登录 [admin@dat ...