打好基础
5 组 · 36 篇MVC核心思想与执行流程
6 篇Spring MVC MVC核心思想
MVC 是一种软件架构模式,将应用分为模型、视图、控制器三层,实现关注点分离,提高代码可维护性和可测试性。
Spring MVC 执行流程
Spring MVC 请求执行流程从请求到达 DispatcherServlet 开始,经过映射、执行、解析、渲染等步骤完成响应,是理解框架的核心。
Spring MVC DispatcherServlet前端控制器
DispatcherServlet 是 Spring MVC 的核心前端控制器,负责统一接收请求、分发处理、协调各组件完成请求处理流程。
Spring MVC HandlerMapping处理器映射器
HandlerMapping 负责将请求 URL 映射到对应的处理器方法,是 Spring MVC 请求分发的核心组件。
Spring MVC Controller控制器
Controller 是 Spring MVC 中处理 HTTP 请求的核心组件,通过注解声明请求映射和方法参数绑定,实现业务逻辑处理。
Spring MVC ViewResolver视图解析器
ViewResolver 负责将逻辑视图名解析为实际的 View 对象,实现视图与控制器的解耦,支持多种视图技术。
请求接收与参数绑定
13 篇请求映射注解
SpringMVC提供多种请求映射注解,包括@RequestMapping及其衍生注解,本文介绍如何使用这些注解映射HTTP请求。
请求接收与参数绑定综合
SpringMVC请求接收与参数绑定机制完整解析,涵盖参数绑定原理、支持类型及综合应用示例。
参数绑定注解
SpringMVC提供多种参数绑定注解,用于将请求数据绑定到方法参数,本文介绍常用参数绑定注解的使用方法。
RequestParam注解
@RequestParam注解用于绑定请求参数到控制器方法参数,支持设置参数名、是否必填、默认值,本文介绍其使用方法。
RESTful风格参数
RESTful风格使用URL路径传递参数,结合HTTP方法表示资源操作,本文介绍SpringMVC中RESTful参数的绑定方式。
PathVariable注解
@PathVariable注解用于绑定URL路径中的变量到方法参数,是RESTful风格接口的核心注解。
请求头与Cookie
SpringMVC通过@RequestHeader和@CookieValue注解获取请求头和Cookie信息,本文介绍它们的使用方法。
POJO参数绑定
SpringMVC支持自动将请求参数绑定到POJO对象,适用于表单提交场景,本文介绍POJO参数绑定的使用方法。
复杂对象参数
SpringMVC支持多层嵌套对象的参数绑定,适用于复杂表单提交场景,本文介绍复杂对象参数的绑定方式。
数组与集合参数绑定
SpringMVC支持将多个同名请求参数绑定到数组或集合,适用于批量操作场景,本文介绍数组和集合参数的绑定方式。
日期类型转换进阶
深入讲解SpringMVC日期类型转换,包括自定义转换器、全局配置、多格式支持及JSON日期处理。
日期类型转换基础
SpringMVC默认不支持自定义日期格式转换,本文介绍使用@DateTimeFormat注解和自定义转换器实现日期参数绑定。
RESTful风格支持
SpringMVC全面支持RESTful风格开发,本文介绍如何使用注解和配置构建RESTful接口。
请求响应与数据返回
5 篇控制器返回ModelAndView
ModelAndView是SpringMVC提供的模型视图对象,用于同时封装模型数据和视图名称,本文介绍其基本用法。
控制器返回String
控制器方法返回String类型是最常用的视图返回方式,本文介绍其三种返回形式及使用场景。
转发与重定向
SpringMVC中转发与重定向是两种常见的页面跳转方式,本文介绍它们的使用方法和区别。
ResponseBody返回JSON
@ResponseBody注解用于将方法返回值直接写入HTTP响应体,常用于返回JSON数据,本文介绍其使用方法。
数据响应Model、ModelMap、Map
SpringMVC提供Model、ModelMap、Map三种方式向视图传递数据,本文介绍它们的使用方法和区别。
常用注解基础使用
7 篇Spring MVC @Controller注解
@Controller 注解用于标识控制器类,配合 @RequestMapping 实现请求映射,是 Spring MVC 的核心注解之一。
Spring MVC @RequestMapping注解
@RequestMapping 是 Spring MVC 最核心的请求映射注解,用于将 HTTP 请求映射到控制器方法,支持路径、方法、参数等多维度匹配。
Spring MVC @RequestParam注解
@RequestParam 用于绑定请求参数到控制器方法参数,支持必填校验、默认值设置和参数类型转换。
Spring MVC @PathVariable注解
@PathVariable 用于绑定 URL 路径中的变量值到控制器方法参数,是 RESTful 风格 API 的核心注解。
Spring MVC @ResponseBody注解
@ResponseBody 将控制器方法返回值直接写入 HTTP 响应体,通常用于返回 JSON 或 XML 数据,是构建 RESTful API 的核心注解。
Spring MVC @ExceptionHandler注解
@ExceptionHandler 注解用于声明异常处理方法,实现控制器级别的异常统一处理,返回自定义错误响应或视图。
Spring MVC @ControllerAdvice注解
@ControllerAdvice 是全局控制器增强注解,可结合 @ExceptionHandler、@InitBinder、@ModelAttribute 实现全局异常处理、数据绑定和模型属性。
静态资源与乱码统一处理
5 篇静态资源映射配置
SpringMVC需要配置静态资源映射才能访问静态文件,本文介绍XML配置和注解配置两种方式。
静态资源访问路径
正确配置静态资源访问路径是Web开发的基础,本文介绍静态资源路径配置的最佳实践和常见问题。
编码过滤器配置
CharacterEncodingFilter是Spring提供的编码过滤器,用于统一处理请求和响应编码,解决POST请求乱码问题。
乱码问题原因
Web应用乱码问题源于编码不一致,本文分析乱码产生原因及GET和POST请求乱码的不同处理方式。
统一编码处理
Web应用需要统一编码处理,从请求、响应、数据库到页面保持编码一致,本文介绍全链路编码统一配置方案。
核心能力
5 组 · 32 篇全局异常统一处理
4 篇Spring MVC 自定义异常类
本文介绍如何在Spring MVC中设计并实现自定义异常类,构建清晰的业务异常体系。
Spring MVC 多种异常处理
本文介绍Spring MVC中多种异常处理方式,包括@ExceptionHandler、@ControllerAdvice、HandlerExceptionResolver等核心机制。
Spring MVC 返回JSON格式错误信息
本文介绍Spring MVC全局异常处理中如何返回统一规范的JSON格式错误信息,包括响应结构设计与实现方式。
Spring MVC 与Spring Boot集成的全局异常处理
本文介绍在Spring Boot中集成全局异常处理的最佳实践,包括自动配置、自定义配置及高级用法。
拦截器原理与实战
11 篇Spring MVC 拦截器概念与作用
本文介绍Spring MVC拦截器的核心概念、作用机制及应用场景,帮助理解拦截器在Web开发中的重要地位。
Spring MVC 拦截器与过滤器的区别
本文对比Spring MVC拦截器与Servlet过滤器的核心区别,帮助理解两者在不同场景下的选择策略。
Spring MVC 实现HandlerInterceptor接口
本文详细介绍如何实现Spring MVC的HandlerInterceptor接口,包括三个核心方法的实现要点和最佳实践。
Spring MVC preHandle方法详解
本文详细讲解Spring MVC拦截器中preHandle方法的参数含义、返回值规则及典型应用场景。
Spring MVC postHandle方法详解
本文详细讲解Spring MVC拦截器中postHandle方法的执行时机、参数含义及典型应用场景。
Spring MVC afterCompletion方法详解
本文详细讲解Spring MVC拦截器中afterCompletion方法的执行时机、参数含义及典型应用场景。
Spring MVC 拦截器配置(Java配置方式)
本文介绍Spring MVC中通过Java配置方式注册和配置拦截器,包括路径匹配、排除路径及执行顺序设置。
Spring MVC 多个拦截器的执行顺序
本文详细讲解Spring MVC中多个拦截器的执行顺序规则,包括preHandle、postHandle、afterCompletion的执行时序。
Spring MVC 拦截器实现登录验证
本文详细介绍如何使用Spring MVC拦截器实现登录验证功能,包括Session验证、Token验证及多种认证方式。
Spring MVC 拦截器实现权限控制
本文详细介绍如何使用Spring MVC拦截器实现细粒度的权限控制,包括注解式权限、角色验证及权限匹配策略。
Spring MVC 拦截器实现日志记录
本文介绍如何使用Spring MVC拦截器实现请求日志记录,包括请求信息、响应时间、异常日志及日志输出策略。
文件上传下载进阶
6 篇Spring MVC 文件上传原理与配置
本文介绍Spring MVC文件上传的底层原理,包括multipart请求处理、MultipartFile接口及核心配置项。
Spring MVC 单文件上传实现
本文介绍Spring MVC中实现单文件上传的方法,包括Controller处理、文件保存策略及常见问题处理。
Spring MVC 多文件上传实现
本文介绍Spring MVC中实现多文件上传的方法,包括批量上传、文件命名策略及上传结果处理。
Spring MVC 文件下载实现
本文介绍Spring MVC中实现文件下载的方法,包括直接下载、流式下载及大文件分片下载。
Spring MVC 文件大小与类型限制
本文介绍Spring MVC中如何限制文件上传的大小和类型,包括配置限制、手动校验及自定义异常处理。
Spring MVC 异常处理与国际化
本文介绍如何在Spring MVC中实现异常消息的国际化,包括错误码管理、多语言异常消息及统一响应处理。
数据校验与格式化
6 篇Spring MVC JSR-303 Bean Validation
本文介绍JSR-303 Bean Validation规范在Spring MVC中的应用,包括标准注解、校验流程及与Hibernate Validator的关系。
Spring MVC Hibernate Validator
本文介绍Hibernate Validator在Spring MVC中的使用方法,包括常用注解、校验配置及错误信息处理。
Spring MVC 自定义校验注解
本文详细介绍如何在Spring MVC中创建自定义校验注解,包括注解定义、校验器实现及高级用法。
Spring MVC 分组校验
本文介绍Spring MVC中如何使用分组校验功能,实现不同场景下不同的校验规则。
Spring MVC 数据格式化
本文介绍Spring MVC中的数据格式化机制,包括日期格式化、数字格式化及自定义格式化器实现。
Spring MVC 国际化消息
本文介绍Spring MVC中的国际化消息处理机制,包括MessageSource配置、多语言资源文件管理及动态Locale切换。
跨域解决方案
5 篇跨域问题产生原因
深入解析浏览器同源策略与跨域问题的根本原因,理解为什么会出现跨域限制及其安全意义。
CORS协议详解
全面解析CORS(跨源资源共享)协议的核心机制,包括简单请求、预检请求及相关响应头的使用方法。
SpringMVC CORS配置
详细介绍SpringMVC中CORS配置的多种方式,包括注解配置、全局配置及XML配置的完整实现方案。
拦截器实现CORS
详解使用SpringMVC拦截器实现CORS跨域处理的完整方案,包括拦截器配置与响应头设置。
Nginx反向代理解决跨域
深入讲解使用Nginx反向代理解决跨域问题的原理与配置方法,包括单服务和多服务场景的完整实现。
高阶实战
3 组 · 22 篇自定义处理器与适配器
7 篇Spring MVC 自定义HandlerMapping处理器映射器
HandlerMapping 负责将请求映射到对应的处理器,自定义映射器可实现特殊的路由规则和请求分发逻辑。
Spring MVC 自定义HandlerAdapter处理器适配器
HandlerAdapter 负责执行具体的处理器方法,自定义适配器可支持特殊类型的处理器调用方式。
Spring MVC HandlerInterceptor拦截器
HandlerInterceptor 是 Spring MVC 提供的处理器拦截器,可在请求处理前后执行自定义逻辑,实现权限校验、日志记录等功能。
Spring MVC HandlerExceptionResolver异常解析器
HandlerExceptionResolver 是 Spring MVC 的异常解析接口,用于统一处理控制器抛出的异常,返回统一的错误视图或响应。
Spring MVC 自定义MessageConverter消息转换器
MessageConverter 负责请求体与响应体的数据转换,自定义转换器可扩展 JSON、XML 等格式支持或实现特殊数据处理。
Spring MVC 自定义参数解析器HandlerMethodArgumentResolver
HandlerMethodArgumentResolver 负责将请求参数绑定到控制器方法参数,自定义解析器可实现特殊参数类型的自动注入。
Spring MVC 自定义返回值处理器HandlerMethodReturnValueHandler
HandlerMethodReturnValueHandler 负责处理控制器方法的返回值,自定义处理器可实现特殊返回类型的响应处理。
MVC核心源码执行流程
7 篇DispatcherServlet初始化流程
DispatcherServlet是SpringMVC核心控制器,初始化时创建WebApplicationContext并加载核心组件,本文详解初始化流程与组件加载机制。
HandlerMapping机制
HandlerMapping是SpringMVC核心组件,负责将请求URL映射到具体的Handler处理器,本文深入解析其工作机制与源码实现。
HandlerAdapter调用链
HandlerAdapter负责调用具体Handler处理请求,本文深入解析调用链执行流程与适配器模式实现。
拦截器执行顺序
SpringMVC拦截器采用责任链模式,preHandle按顺序执行,postHandle和afterCompletion按逆序执行,本文详解执行顺序与源码实现。
异常处理机制
SpringMVC异常处理机制通过HandlerExceptionResolver统一处理Controller层异常,支持@ExceptionHandler、@ControllerAdvice等多种方式。
请求参数绑定与校验
SpringMVC通过HandlerMethodArgumentResolver实现参数绑定,结合Bean Validation实现声明式校验,本文详解绑定与校验机制。
响应数据转换与渲染
SpringMVC通过HttpMessageConverter和ViewResolver实现响应数据转换与视图渲染,支持JSON、XML、模板引擎等多种响应方式。
容器级WEB组件扩展
8 篇HandlerMapping
HandlerMapping是SpringMVC请求映射核心接口,将请求URL映射到Handler处理器,支持多种实现策略和自定义扩展。
SpringMVC容器初始化与DispatcherServlet
SpringMVC容器初始化涉及父子容器关系、WebApplicationContext创建与DispatcherServlet配置,本文详解容器架构与初始化机制。
HandlerAdapter
HandlerAdapter是SpringMVC适配器接口,负责调用不同类型的Handler处理器,支持参数解析、返回值处理和多种Handler类型适配。
HandlerMapping与HandlerAdapter扩展
SpringMVC允许自定义HandlerMapping和HandlerAdapter扩展请求映射和Handler调用逻辑,实现个性化路由和参数处理策略。
拦截器Interceptor
SpringMVC拦截器Interceptor在Handler执行前后进行预处理和后处理,支持认证授权、日志记录、性能监控等横切关注点。
拦截器与过滤器扩展机制
SpringMVC拦截器和Servlet过滤器提供请求预处理和后处理能力,拦截器在Spring容器内执行,过滤器在Servlet容器级别执行。
异常处理HandlerExceptionResolver
HandlerExceptionResolver是SpringMVC异常处理的核心接口,支持自定义异常解析器实现全局异常处理与自定义响应策略。
数据绑定与类型转换
SpringMVC数据绑定通过DataBinder将请求参数绑定到对象属性,ConversionService实现类型转换,支持自定义转换器扩展。