【springmvc】执行流程,五大核心组件

本文参考黑马程序员视频:https://www.bilibili.com/video/BV15b4y117RJ?p=160

  1. 知道springmvc的核心组件:dispatchServlet,handlermapping,controller,modelAndView,ViewResolver
  2. 分为三个阶段:初始化,匹配,执行
  3. 初始化开始:初始化spring容器也就是我们的context,之所以称之为容器是因为它包含了多个类(handlermapping,handleradapter等)
  4. 初始化spring容器初始化是由web容器完成,使用init从而调用context的refresh
  5. web容器存有spring容器中类的副本
  6. spring容器中的同种类通常有多个
  7. 匹配阶段的开始:路径uri会找到对应的handlermethod对象。
  8. handlermethod对象包含了bean与对应的method
  9. 在controller当中对应的方法注解@RequestMapping(“uri”)即可让uri找到对应的handlermethod对象
  10. handlermapping找到对应的handlermethod之后会将其与handlerinterceptor一起封装成handlerexcutionchain并返回给dispatchServlet(web容器中)
  11. 匹配结束:遍历HandlerAdapter,使用support方法与handlerExecutionChain相匹配。
  12. 执行开始:handlerAdapter尝试调用执行handlerExecutionchain中的方法(本质是controller的方法)
  13. handlerinterceptor对其阻拦,调用prehandle方法
  14. method执行没有异常则:如下
  15. method执行完毕返回modelandview
  16. 执行拦截器posthandle(与prehandle相反的拦截器触发次序)
  17. viewResovler解析view,返回视图(jsp或者另一个目标uri)
  18. method执行有异常则:如下
  19. method退出并返回一个exception
  20. web容器dispatchServlet当中的handlerExceptionresovler处理
  21. 无论异常与否都将执行拦截器的aftercomletion(反序)
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
执行阶段
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值