SpringMVC原理简述

140 阅读2分钟

SpringMVC是什么?

Spring MVC是Spring框架的一个模块。它是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,把复杂的web应用分成逻辑清晰的几部分。Spring MVC的设计目标是提供清晰的角色分工,高度可配置性和松耦合的组件,以帮助开发者构建高效、易维护的Web应用程序。

SpringMVC设计思想

image.png

SpringMVC的主要组件

  1. DispatcherServlet:Spring MVC的核心入口,所有进入的HTTP请求首先经过它,它负责调度各组件协同工作。
  2. Controller(@Controller) :控制器组件,负责处理用户的HTTP请求,通常会结合注解如@RequestMapping来映射请求URL,并执行对应的业务逻辑,然后返回处理结果或视图名称。
  3. Model(@ModelAttribute) :模型对象,封装业务数据,控制器处理请求后可能填充模型数据,这些数据可以在视图中展示或传递给前端。
  4. Views(视图层) :负责渲染输出的结果,可以是JSP、Thymeleaf、FreeMarker等各种模板引擎或者纯JSON、XML等数据格式。Spring MVC通过视图解析器(View Resolver)自动根据逻辑视图名查找实际的视图文件。
  5. Handler Mapping:处理器映射,它负责将不同的请求路径映射到具体的Controller中的处理方法上。
  6. Handler Adapter:处理器适配器,它将控制器处理请求的方式标准化,允许DispatcherServlet与各种类型的控制器协作。
  7. Validation and Conversion:Spring MVC还支持数据验证和类型转换,确保用户输入的有效性并将其转换为Java对象。
  8. Interceptors(拦截器) :可以插入到请求处理过程中的全局或特定请求的拦截器,用于统一处理如权限检查、日志记录等横切关注点。

SpringMVC工作流程和原理

image.png