SpringMVC是什么?
Spring MVC是Spring框架的一个模块。它是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,把复杂的web应用分成逻辑清晰的几部分。Spring MVC的设计目标是提供清晰的角色分工,高度可配置性和松耦合的组件,以帮助开发者构建高效、易维护的Web应用程序。
SpringMVC设计思想
SpringMVC的主要组件
- DispatcherServlet:Spring MVC的核心入口,所有进入的HTTP请求首先经过它,它负责调度各组件协同工作。
- Controller(@Controller) :控制器组件,负责处理用户的HTTP请求,通常会结合注解如
@RequestMapping来映射请求URL,并执行对应的业务逻辑,然后返回处理结果或视图名称。 - Model(@ModelAttribute) :模型对象,封装业务数据,控制器处理请求后可能填充模型数据,这些数据可以在视图中展示或传递给前端。
- Views(视图层) :负责渲染输出的结果,可以是JSP、Thymeleaf、FreeMarker等各种模板引擎或者纯JSON、XML等数据格式。Spring MVC通过视图解析器(View Resolver)自动根据逻辑视图名查找实际的视图文件。
- Handler Mapping:处理器映射,它负责将不同的请求路径映射到具体的Controller中的处理方法上。
- Handler Adapter:处理器适配器,它将控制器处理请求的方式标准化,允许DispatcherServlet与各种类型的控制器协作。
- Validation and Conversion:Spring MVC还支持数据验证和类型转换,确保用户输入的有效性并将其转换为Java对象。
- Interceptors(拦截器) :可以插入到请求处理过程中的全局或特定请求的拦截器,用于统一处理如权限检查、日志记录等横切关注点。