springboot 继承spring mvc 拦截器
时间: 2024-08-12 11:02:40 浏览: 73
Spring Boot 中的拦截器通常用于Spring MVC框架中,它们允许你在请求进入控制器处理之前或之后执行自定义的操作。当你继承 Spring MVC 的 `HandlerInterceptor` 接口并实现其两个方法:`preHandle()` 和 `postHandle()` 时,你可以对HTTP请求进行拦截。
1. `preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)`:这个方法在控制器处理请求之前被调用。你可以在这里检查权限、验证数据、修改请求头等,如果需要阻止请求继续,可以返回 `false`。
2. `postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)`:这个方法在处理器方法执行后但视图渲染前被调用。它通常用于获取处理结果并进一步处理,比如添加共同的响应头信息,但不改变视图模型。
要在 Spring Boot 应用中使用拦截器,你需要将实现的拦截器类配置到`WebMvcConfigurer` 或 `WebMvcConfigurerAdapter` 类中。例如:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new YourInterceptor())
.addPathPatterns("/**");
}
}
```
其中 `YourInterceptor` 是你继承自 `HandlerInterceptor` 的类名。
阅读全文