【spring MVC】的执行流程
Spring MVC 的核心执行流程围绕 DispatcherServlet(前端控制器) 展开,本质是“请求分发-处理-响应”的标准化流程,共8个关键步骤:
用户发起请求:浏览器或客户端发送 HTTP 请求(如 /user/list ),请求首先被 Spring MVC 的前端控制器 DispatcherServlet 拦截。
匹配 HandlerMapping:DispatcherServlet 调用 HandlerMapping(处理器映射器),根据请求 URL、请求方法等信息,找到对应的 Handler(处理器,即 Controller 中的方法) 及拦截器(Interceptor)。
获取 HandlerAdapter:DispatcherServlet 调用 HandlerAdapter(处理器适配器),根据 Handler 的类型(如注解式、配置式),选择适配的适配器来执行 Handler。
执行 Handler(含拦截器):HandlerAdapter 调用 Handler 方法处理业务逻辑,执行过程中会触发拦截器的 preHandle 、 postHandle 方法;处理完成后,返回 ModelAndView(模型数据 + 视图名称)。
处理视图名:DispatcherServlet 将 ModelAndView 传递给 ViewResolver(视图解析器),ViewResolver 根据视图名称(如 user/list )解析出具体的 View(视图对象,如 JSP、Thymeleaf 页面)。
渲染视图:View 对象结合 Model 中的数据(业务数据),渲染生成 HTML 等响应内容。
**触发拦截器后置方法:**视图渲染完成后,触发拦截器的 afterCompletion 方法,执行资源清理等收尾操作。
响应客户端:DispatcherServlet 将渲染后的响应内容返回给客户端,完成一次请求流程。