Spring MVC的工作原理

 

  1. DispatcherServlet(前端控制器/总指挥)

    • 作用:Spring MVC 的入口,负责接收所有 HTTP 请求,并统一调度其他组件。

  2. HandlerMapping(处理器映射器/路由寻址员)

    • 作用:根据当前请求的 URL 和请求方法(GET/POST),找到对应执行该请求的 Controller 中的具体方法,并返回一个执行链(HandlerExecutionChain)。维护了 @RequestMapping 注解的映射关系。

  3. HandlerAdapter(处理器适配器/执行引擎)

    • 作用:实际调用 Controller 方法的执行器。它会处理参数绑定(@RequestParam、@RequestBody 等)、数据校验,并调用业务方法。

  4. ViewResolver(视图解析器/页面渲染师)

    • 作用:(传统项目) 当 Controller 返回的是逻辑视图名(如字符串 "userList")时,它负责将其解析成实际的物理视图(如 /WEB-INF/userList.jsp)。

    • 注意在前后端分离(@RestController)项目中,这一步基本用不到了,因为数据直接通过 HttpMessageConverter 写回 JSON


只要你在项目中引入了 Spring MVC 的依赖(spring-boot-starter-web),Spring Boot 就会自动配置好 DispatcherServlet、ViewResolver 等核心组件。

posted @ 2024-01-26 17:26  杨吃羊  阅读(26)  评论(0)    收藏  举报