跳到主要内容

Spring MVC系列(5)-SpringMVC执行流程及相关Servlet类简介

前言

当发送HTTP请求时,Spring MVC接收到后,会进行一系列处理,然后将资源响应,这整个流程是怎么处理的呢?

执行流程

核心组件

DispatcherServlet前端控制器,不需要工程师开发,由框架提供,统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求

HandlerMapping处理器映射器,不需要工程师开发,由框架提供,根据请求的url、method等信息查找Handler,即控制器方法

Handler处理器,需要工程师开发,在DispatcherServlet的控制下Handler对具体的用户请求进行处理

HandlerAdapter处理器适配器,不需要工程师开发,由框架提供,通过HandlerAdapter对处理器(控制器方法)进行执行

ViewResolver视图解析器,不需要工程师开发,由框架提供,进行视图解析,得到相应的视图,例如:ThymeleafView、InternalResourceView、RedirectView

View视图,将模型数据通过页面展示给用户

流程

 

1、 用户发起request,进入前端控制器DispatcherServlet;
2、 DispatcherServlet请求处理映射器HandlerMapping查找Handler;
3、 HandlerMapping根据用户请求的url,查找与之匹配的Handler(也就是Controller中配置了相应路径的一个方法),返回一个执行链;
4、 DispatcherServlet再请求处理适配器HandlerAdapter执行Handler;
5、 Handler被执行;
6、 Handler返回ModelAndView对象;
7、 HandlerAdapter又将ModelAndView返回给DispatcherServlet;