Spring MVC核心、注解

Spring MVC 的核心组件?

  1. DispatcherServlet:前置控制器,是整个流程控制的核心,控制其他组件的执行,进行统一调度,降低组件之间的耦合性,相当于总指挥。
  2. Handler:处理器,完成具体的业务逻辑,相当于 Servlet 或 Action。
  3. HandlerMapping:DispatcherServlet 接收到请求之后,通过 HandlerMapping 将不同的请求映射到不同的 Handler。
  4. HandlerInterceptor:处理器拦截器,是一个接口,如果需要完成一些拦截处理,可以实现该接口。
  5. HandlerExecutionChain:处理器执行链,包括两部分内容:Handler 和 HandlerInterceptor(系统会有一个默认的 HandlerInterceptor,如果需要额外设置拦截,可以添加拦截器)。
  6. HandlerAdapter:处理器适配器,Handler 执行业务方法之前,需要进行一系列的操作,包括表单数据的验证、数据类型的转换、将表单数据封装到 JavaBean 等,这些操作都是由 HandlerApater 来完成,开发者只需将注意力集中业务逻辑的处理上,DispatcherServlet 通过 HandlerAdapter 执行不同的 Handler。
  7. ModelAndView:装载了模型数据和视图信息,作为 Handler 的处理结果,返回给 DispatcherServlet。
  8. ViewResolver:视图解析器,DispatcheServlet 通过它将逻辑视图解析为物理视图,最终将渲染结果响应给客户端。

Spring MVC 是基于模型-视图-控制器的 Web 框架,它的工作流程也主要是围绕着 Model、View、Controller 这三个组件展开的。

Spring MVC 运行原理

  1. 前端控制器 (DispatcherServlet) 接收所有 HTTP 请求。
  2. 处理器映射器 (HandlerMapping) 根据请求 URL 查找相应的处理器(控制器)。
  3. 处理器适配器 (HandlerAdapter) 调用处理器的方法。
  4. 视图解析器 (ViewResolver) 将返回的视图名解析为实际的视图对象。
  5. 视图对象 渲染响应。

拦截器

Spring MVC 拦截器类似于 Servlet 的过滤器,用于在请求处理的前后执行一些操作。

配置拦截器:

注解

@Controller

@Controller 是一个标记注解,用于定义控制器类,处理 HTTP 请求,并返回视图。

@RestController

@RestController 是 @Controller 和 @ResponseBody 的组合注解,返回的是 JSON/XML 格式数据而不是视图。

@RequestMapping

@RequestMapping 用于映射 URL 到控制器的处理方法上。

@PathVariable

@PathVariable 用于将 URL 路径中的变量绑定到方法参数。

@RequestParam

@RequestParam 用于将请求参数绑定到方法参数。

@GetMapping / @PostMapping / @PutMapping / @DeleteMapping

这些注解分别用于处理 GET、POST、PUT 和 DELETE 请求。

Spring MVC 异常处理机制

@ExceptionHandler

@ExceptionHandler 注解用于定义控制器中的异常处理方法。

@ControllerAdvice

@ControllerAdvice 注解用于全局处理控制器中的异常。

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值