spring系列---拦截器
目录
- Spring 中的拦截器和过滤器
- 1. Spring MVC 拦截器 (HandlerInterceptor)
- 使用方式:
- 2. Spring AOP 切面
- 示例代码:
- 3. Servlet 过滤器 (Filter)
- 注册方式:
- 4. Spring Security 过滤器链
- 自定义过滤器:
- 总结
Spring 中的拦截器和过滤器
在 Spring 框架中,拦截器和过滤器是两种不同的机制,但它们都可以用来拦截请求并执行一些预处理或后处理逻辑。以下是 Spring 中常用的拦截器和过滤器:
1. Spring MVC 拦截器 (HandlerInterceptor)
HandlerInterceptor
是 Spring MVC 提供的拦截器接口,主要用于拦截 HTTP 请求并执行自定义逻辑。它有三个主要方法:
-
preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
在控制器方法执行之前调用。返回true
表示继续执行后续的拦截器和控制器方法;返回false
表示中断执行。 -
postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
在控制器方法执行之后、视图渲染之前调用。可以修改ModelAndView
对象。 -
afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
在整个请求完成&#x