SpringMVC五大组件工作流程

DispatcherServlet 前端控制器

HandlerMapping 映射处理器

Controller: 处理器

ModelAndView: (处理结果和视图名)

ViewResolver 视图解析器。

在这里插入图片描述

执行流程

1.用户请求发送给前端控制器(DispatcherServlet),前端控制器收到请求路径,但不知道请求的是那个Control中的哪个方法
2.DispatcherServlet找到处理器映射器(HandlerMapping),实际上处理器映射器存放了Map<String,Handler>,通过请求的url地址找到对应的处理器及自定义的拦截器等
3.前端控制器依然不能处理这个业务请求,它这时做的还有另外一件事情,因为返回Handler,它也不知道这个Handler是什么类型,因为在spring mvc中Handler除了可以是注解形式的之外,其实还可以是非注解形式的(非注解形式我们一般不用),前端控制器并不知道这个Handler到底是什么类型的,那就没办法执行它,那总得找个东西执行,这时它就会把这个事交给另外一个组件来处理,这个组件就叫处理器适配器,这个处理器适配器就是来适配不同类型的Handler。它就会根据你不同类型的Handler来选择不同类型的适配器来执行它。
4.处理器适配器拿到处理器,执行。就是执行对应的Control层被@RequestMapping注解标注的方法,执行成功返回ModelAndView
5.通过对应的视图解析器(如jsp视图解析器,Thymeleaf视图解析器)请求解析视图找到这个视图解析器,它来把这个视图解析,解析完了之后它会返回一个View对象。
6.最后我们再调用这个视图解析器的渲染视图这个过程,渲染视图这个过程其实就是对于我们的jsp来说,就是把这个数据渲染成html响应给页面。
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值