springboot 使用 拦截器
所属分类 springboot
浏览量 1266
org.springframework.web.servlet.HandlerInterceptor
preHandle controller 方法执行前
postHandle controller 方法执行后
afterCompletion 视图渲染完成后执行
preHandle 返回true 才会执行 controller方法 postHandle afterCompletion
注册 拦截器
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import demo.interceptor.TimeLogInterceptor;
@Configuration
public class InterceptorConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new TimeLogInterceptor()).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
拦截器 与 过滤器的区别
1.Filter是Servlet容器的,Interceptor是SpringMVC实现的
2.Filter对所有请求起作用,Intercptor可以设置拦截规则,且只对经过DispatchServlet的请求起作用
3.Filter只能拿到request和response,interceptor可以拿到整个请求上下文,包括request和response
4.Filter基于函数回调,Interceptor 基于反射
例子代码
https://gitee.com/dyyx/springboothello/tree/master/src/main/java/demo/interceptor
上一篇
下一篇
flink基础
装逼词汇大全
springboot 使用 servlet 过滤器
问题排查命令和工具及实战案例
maven-shade-plugin 使用指南
maven-assembly-plugin 和 maven-shade-plugin