SpringMVC

image
一.SpringMVC流程
(1)用户发送请求至前端控制器 DispatcherServlet;
(2) DispatcherServlet 收到请求后,调用 HandlerMapping 处理器映射器,请
求获取 Handle;
(3)处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器
拦截器(如果有则生成)一并返回给 DispatcherServlet;
(4)DispatcherServlet 调用 HandlerAdapter 处理器适配器;
(5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
(6)Handler 执行完成返回 ModelAndView;
(7)HandlerAdapter 将 Handler 执 行 结 果 ModelAndView 返 回 给
DispatcherServlet;
(8)DispatcherServlet 将 ModelAndView 传给 ViewResolver 视图解析器进行
解析;
(9)ViewResolver 解析后返回具体 View;
(10)DispatcherServlet 对 View 进行渲染视图(即将模型数据填充至视图中)
(11)DispatcherServlet 响应用户。

二.核心流程拆解

  1. 请求入口
    用户(Actor)发起URL请求,统一由 DispatcherServlet(前端控制器)接收,它是整个流程的核心调度者。
  2. 映射与拦截器准备
    DispatcherServlet 通过 handlerMapper 找到对应的 Controller 方法,同时获取该方法对应的前置拦截器列表后置拦截器列表
  3. 拦截器与目标方法执行
    • 先执行前置拦截器(如权限校验、日志记录)
    • 调用目标 Controller 方法处理业务逻辑
    • 方法执行完成后,返回一个逻辑地址(如 return index;
    • 最后执行后置拦截器(如资源清理、响应头处理)
  4. 视图解析与渲染
    • DispatcherServlet 将逻辑地址(index)拼接成物理地址:前缀(/WEB-INF/jsp/user/)+ 逻辑地址 + 后缀(.jsp)
    • 最终定位到物理文件 /WEB-INF/jsp/user/index.jsp
    • 渲染页面,生成静态响应返回给用户

三. 关键组件作用

  • DispatcherServlet:整个SpringMVC的“大脑”,负责接收请求、协调所有组件、调度执行流程。
  • HandlerMapper:根据URL匹配对应的Controller方法和拦截器,完成请求到处理器的映射。
  • 拦截器(Interceptor):在Controller方法执行前后插入通用逻辑,实现AOP式的功能增强。
  • 视图解析器:将Controller返回的逻辑视图名解析为具体的物理视图文件路径。
posted @ 2026-01-28 22:43  doremi_h2  阅读(14)  评论(0)    收藏  举报