spring boot request 工作流程

spring boot request 工作流程

  1. FrameworkServlet.service
  2. FrameworkServlet.processRequest 记录请求信息,构造请求对象并设置,调用 DispatcherServlet 实现的 doService() 复位请求信息,发布请求完成事件
  3. DispatcherServlet.doService() 设置request 属性
  4. DispatcherServlet.doDispatch() 判断是否为文件上传 如果是 则重新构造processedRequest
  5. 根据processedRequest 获取对应的mappedHandler
  6. 根据 mappedHandler 获取 HandlerAdapter
  7. 执行mappedHandler.applyPreHandle
  8. 使用 HandlerAdapter 执行 mappedHandler
  9. 渲染视图
  10. 执行 mappedHandler. applyPostHandle

HandlerMapping

  1. DispatcherServlet.initHandlerMappings() 初始化 收集spring容器中所有的HandlerMapping的实现类
  2. 在spring初始化的时候 所有的controller 中的方法会通过url映射,注册到spring中 AbstractHandlerMethodMapping.initHandlerMethods AbstractHandlerMethodMapping.handlerMethodsInitialized

getHandler() 返回一个 HandlerExecutionChain 对象里面包含了
与url 对应的 方法 或 类 以及 拦截器

handlerAdapter

用来执行HandlerMapping的适配器
ModelAndView handle(HttpServletRequest req, HttpServletResponse res, Object handler);
RequestMappingHandlerAdapter.invokeHandlerMethod() 数据绑定,通过反射执行方法
数据绑定 通过 HandlerMethodArgumentResolver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值