简述Spring MVC的工作原理

137 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天

简述Spring MVC的工作原理

基础:三大组件

处理器映射器

处理器映射器可以理解为一个Map<URL,Handler>,HandlerMapping负责根据用户请求的URL找到Handler(处理器),Spring MVC提供了不同的映射器来实现不同的映射方法

处理器适配器

处理器适配器的作用是根据处理器映射器找到的处理器Handler信息,去执行相关的Handler。不同的处理器映射器映射出来的Handler对象是不一样的,不同的映射由不同的适配器来负责解析。

视图解析器

视图解析器进行视图解析,首先将逻辑视图名解析成物理视图名,即具体的页面地址,再生成View视图对象返回。

执行流程

  1. 客户端发送URL请求,前端控制器接收请求
  2. 前端控制器先去找处理器映射器,问他我该找哪个Handler(处理器)处理这个URL
  3. 前端控制器知道了Handler信息,拿去找处理器适配器进行匹配,找到对应的Handler,把URL交给他处理,将处理完的信息再返回给前端控制器
  4. 最后,前端控制器视图解析器要来对应的view对象,显示URL对应的jsp、html页面

mvc_excu.jpg

注: 在Spring MVC4.0以前,配置文件内必须要配置处理器映射器、处理器适配器和视图解析器,但在Spring MVC4.0之后,如果不配置这三者,框架会加载内部默认的配置完成相应地工作。如果想显式并快捷地配置处理器映射器和处理器适配器,也可以在配置文件中使用 mvc:annotation-driven/ 元素来实现,该元素会自动注册处理器映射器和处理器适配器。