Spring MVC工作流程详解
一、 核心类
- DispatcherServlet: Spring MVC中的核心组件,主要负责接受前端的请求、返回数据给前端,以及最重要的组件调度,也就是调用其它组件来实现功能;
- Handler: 处理器,完成具体的业务逻辑,相当于Servlet,Controller层中D类
- HandlerMapping: 该组件主要根据url(注意和uri的区别,uri是资源标识符,可以理解为资源在服务器的路径,而url是资源定位符,包括请求协议、IP地址和端口号)、请求的方式来匹配对应的处理器和拦截器,处理器可以理解为Controller中的类,拦截器即跟这个url路径相关的拦截器;
- HandlerExecutionChain: 处理器执行链,封装了处理器和拦截器、拦截器索引;
- HandlerAdapter: 处理器适配器,用于执行处理器和拦截器中的方法;
- ModelAndView: 数据模型和视图,分别对应数据和页面;
- ViewResolver: 视图解析器,主要用于解析视图名字,比如添加前缀、后缀(比如project_name + view_name),来确保该视图在服务器中的正确路径;
- view: 视图,将数据渲染到视图中。
二、工作流程
Spring MVC大致工作流程如下: