Skip to content
进阶

一句话答案

请求→DispatcherServlet→HandlerMapping 找处理器→HandlerAdapter 调用→返回 ModelAndView→视图渲染响应。

核心要点

流程:

  1. DispatcherServlet 接收请求
  2. HandlerMapping 找到对应的 Handler(Controller)
  3. HandlerAdapter 适配并调用 Handler
  4. Handler 返回 ModelAndView
  5. ViewResolver 解析视图
  6. 渲染视图返回响应

REST模式: @ResponseBody 直接返回 JSON,跳过视图渲染

追问与易错

追问方向:

  • HandlerMapping 和 HandlerAdapter 各自作用?
  • @ResponseBody 改变了哪步?
  • 拦截器和过滤器在流程中的位置?

易错点:

  • ❌ 混淆 DispatcherServlet 和普通 Servlet
  • ❌ HandlerAdapter 就是 Controller——是适配器

💡 记忆锚点

SpringMVC = 前台总机(DispatcherServlet)接电话 -> 查通讯录(HandlerMapping)找负责人 -> 翻译官(HandlerAdapter)适配沟通 -> 负责人处理返回结果 -> 美工排版(ViewResolver渲染视图)。加了@ResponseBody就跳过美工直接返回JSON。