野牛王子 2022-03-11 11:57 采纳率: 0%
浏览 473

HandlerInterceptor中的preHandle()方法中第三个参数Object handler是什么

HandlerInterceptor中的preHandle()方法中第三个参数Object handler 有哪些具体类型(为什么大多数是handlermethod类型) ,handler又是在哪里产生的

public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler)

我查询到handler是 HandlerExecutionChain类中的一个成员,在DispatcherServlet类中HandlerExecutionChain mappedHandler对象通过HandlerMapping 的 getHandler()方法返回,但不知道什么时候对成员handler进行了操作

  • 写回答

1条回答 默认 最新

  • a1767028198 2022-03-11 14:09
    关注

    东西很多,想要具体了解,得自己去debug,说是搞不清楚的
    容器启动的时候,RequestMappingHandlerMapping会将请求信息和HandlerMethod存到MappingRegistry中

    img


    img


    在运行时,dispatchservlet匹配到请求,根据url去匹配handlerMethod,则是从上面的mappingRegistry取出handlerMethod,然后重新组装新的handlerMethod,返回给到dispatchservlet

    img


    img


    img

    评论

报告相同问题?

问题事件

  • 创建了问题 3月11日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错