随笔分类 - SpringMVC
摘要:1. DispatcherServlet 的初始化流程 DispatcherServlet 是 Spring MVC 的核心入口,负责接收 HTTP 请求并将其分发给相应的处理器。它的初始化过程从 HttpServlet 的生命周期方法 init() 开始。 1.1 HttpServletBean
阅读全文
摘要:@ResponseBody 用于将方法的返回值直接写入 HTTP 响应体中,而不是渲染视图。它的核心逻辑与 @RequestBody 类似,但方向相反:将 Java 对象转换为 HTTP 响应体内容。 1. @ResponseBody 的处理入口:RequestMappingHandlerAdapt
阅读全文
摘要:在Spring MVC中,DispatcherServlet 是核心的请求分发器,负责将请求分发给相应的处理器(Controller)。@RequestBody 注解用于将HTTP请求体中的数据绑定到方法的参数上。下面是对 DispatcherServlet 和 @RequestBody 的源码分析
阅读全文
摘要:业务处理流程 请求匹配:通过 HandlerMapping 查找合适的处理器。 拦截器前置处理:执行所有的 HandlerInterceptor 的 preHandle 方法。 执行控制器方法:调用相应的控制器方法处理请求。 数据处理: 如果是视图返回,进行视图解析并渲染。 如果是数据返回,使用 H
阅读全文
摘要:继承关系 DispatcherServlet > FrameworkServlet > HttpServletBean > HttpServlet > GenericServlet > Servlet Servlet 容器每次接收到请求时都会调用 service() 方法,子类 HttpServle
阅读全文
摘要:九大组件 SpringMVC 中所有请求都会由 DispatcherServlet 处理和响应。DispatcherServlet 这个类中九个重要的属性,每个属性有不同的作用,如下: /** 文件上传解析器 */ @Nullable private MultipartResolver multip
阅读全文
摘要:@ControllerAdvice 是一个专门用于处理全局异常的注解,它允许你在一个地方定义全局异常处理逻辑,避免在每个控制器中重复定义异常处理方法。@ExceptionHandler 注解可以用来处理特定的异常。 @RestControllerAdvice = @ControllerAdvice+
阅读全文
摘要:在 Java Web 开发中,拦截器(Interceptor)、过滤器(Filter)和监听器(Listener)都是用于处理请求、响应、应用程序生命周期的组件,但它们在使用场景、功能和作用范围上有明显的区别。下面我将逐一说明它们的异同。 1. 过滤器(Filter) 作用范围 过滤器属于 Serv
阅读全文
摘要:在 Spring Boot 中,使用过滤器(Filter)可以让你在请求和响应处理流程中插入自定义逻辑。过滤器在 Spring Boot 中通常用于处理跨域请求、记录请求日志、进行身份验证、请求参数处理等。 下面是如何在 Spring Boot 中使用过滤器的步骤和示例。 1. 创建一个自定义过滤器
阅读全文
摘要:Spring MVC 拦截器(Interceptor)是 Spring 框架提供的一种用于在请求处理之前和之后对 HTTP 请求进行处理的机制。拦截器常用于处理日志、权限验证、性能监控等功能。 1. 定义拦截器 拦截器需要实现 HandlerInterceptor 接口,主要有三个方法: preHa
阅读全文
摘要:获取 cookie:@CookieValue @GetMapping("/getCookie") public String getCookie(@CookieValue(value = "JSESSIONID") String jSessionId) { return jSessionId; }
阅读全文
摘要:@Controller 默认返回页面地址 @Controller public class Test{ @RequestMapping("/index.page") public String index(){ // 会返回 src/main/resources/templates/index.ht
阅读全文