「入门必备」SpringMVC主要组件及工作流程解析

SpringMVC工作流程

在这里插入图片描述

1.SpringMVC主要接口:

DispatcherServlet(前端控制器):

Spring提供的前端控制器,所有的请求都要经过它来统一的发出,在DispacherServlet将请求分发给处理器之前,需要借助Spring提供的HandlerMapping获取Handler.

HandlerMapping(处理器映射器):

处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成),将它们封装在HandlerExecutionChain对象中一并返回给DispatcherServlet(前端控制器)。

HandlerAdapter(处理器适配器):

DispatcherServlet(前端控制器)调用HandlerAdapter(处理器适配器), 经过适配调用具体的处理器(Controller, 也叫后端控制器).

Controller执行完成后给HandlerAdapter(处理器适配器)返回ModelAndView.

HandlerAdapter(处理器适配器)再将ModelAndView返回给DispatcherServlet(前端控制器).

ViewResolver(视图解析器):

DispatcherServlet(前端控制器)将ModelAndView发给ViewResolver(视图解析器),解析完成后返回具体的view.

DispatcherServlet(前端控制器)根据View进行渲染视图(即将模型数据填充至视图中). 响应用户

总结:

SpringMVC通过DispatcherServlet(前端控制器)来调用mvc的三大组件: Model,View,Controller目的是为了保证MVC的每个组件只与DispatcherServlet耦合, 而彼此之间独立运行,大大降低了程序的耦合性

其中最主要的组件是DispatcherServlet(前端控制器)

主要有以下几项工作:

  • 拦截符合特定格式的URL请求
  • 初始化DispatcherServlet上下文对应的WebApplicationContext, 并将其与业务层,持久层的WebApplicationContext建立关联
  • 初始化SpringMVC的各个组件,并装配到DispatcherServlet中

2.SpringMVC工作流程:

  1. 用户发送请求到DispatcherServlet(前端控制器).
  2. DispatcherServlet(前端控制器)收到请求调用HandlerMapping(处理器映射器).
  3. HandlerMapping(处理器映射器)根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器,封装到HandlerExecutionChain对象中并返回给DispatcherServlet(前端控制器).
  4. DispatcherServlet(前端控制器)收到HandlerExecutionChain对象,请求HandlerMapping(处理器映射器)调用Handler(处理器).
  5. HandlerAdapter(处理器适配器)执行接收到的Handler(处理器).
  6. 执行完成之后返回一个ModelAndView,再由HandlerAdapter(处理器适配器)ModelAndView返回给DispatcherServlet(前端控制器).
  7. DispatcherServlet(前端控制器)将收到的ModelAndView发送给ViewResolver(视图解析器)..
  8. ViewResolver(视图解析器)..解析后返回给DispatcherServlet(前端控制器)具体的view.
  9. DispatcherServlet(前端控制器)对收到的view进行渲染视图, 即将模型数据填充到视图中.
  10. DispatcherServlet(前端控制器)对用户进行响应.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值