SpringMVC 知识梳理 一文速查全览
Spring MVC 是一个用于创建web应用程序的框架,它是Spring的一部分,提供了MVC(模型-视图-控制器)架构和用于开发web应用程序的组件。
一文速查全览:
Spring MVC 核心组件
- DispatcherServlet:前端控制器,用于处理所有请求和响应。
- HandlerMapping:用于查找处理请求的Controller。
- HandlerAdapter:用于支持多种类型的Controller。
- Controller:处理用户请求,返回ModelAndView对象。
- View Resolver:解析视图,将逻辑视图名转换为具体View实现。
- View:渲染结果,将模型数据渲染成HTML响应。
配置示例
<!-- 配置Spring MVC DispatcherServlet -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
注解示例
// 使用@Controller注解标识一个类为Controller
@Controller
public class MyController {
// 使用@RequestMapping注解映射URL到具体方法
@RequestMapping("/greeting")
public String greeting() {
return "greeting"; // 返回逻辑视图名
}
}
Spring MVC 工作流程
- 用户发送请求到前端控制器(DispatcherServlet)。
- DispatcherServlet收到请求,通过HandlerMapping找到对应的Controller。
- HandlerMapping将Controller信息返回给DispatcherServlet。
- DispatcherServlet将请求交给HandlerAdapter。
- HandlerAdapter调用Controller的方法处理请求,得到ModelAndView对象。
- HandlerAdapter将ModelAndView返回给DispatcherServlet。
- DispatcherServlet将ModelAndView传递给View Resolver解析视图。
- View Resolver解析后返回真正的视图对象。
- DispatcherServlet对视图进行渲染,将响应返回给用户。
Spring MVC 优势
- 简化了web开发,使用注解和少量配置即可快速搭建应用。
- 灵活的URL映射和灵活的Controller组件支持。
- 支持REST风格的URL。
- 支持强大的表单绑定、验证等功能。
- 支持国际化和主题等。
- 支持静态资源服务。
Spring MVC 常用注解
@Controller
:标识一个类为Controller。@RequestMapping
:映射HTTP请求到具体方法。@RequestParam
:绑定请求参数到方法参数。@PathVariable
:绑定URL模板变量到方法参数。@ModelAttribute
:绑定请求参数到命令对象。@RequestBody
:绑定请求体到方法参数。@ResponseBody
:将返回值放入响应体。
Spring MVC 学习资源
- Spring官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#spring-web
- Spring MVC 示例:https://spring.io/guides
- Spring MVC 教程:https://www.tutorialspoint.com/springmvc/springmvc\_hello\_world.htm
Spring MVC 框架选择
评论已关闭