springboot中filter的简单使用
1>定义timeFilter 实现javax.servlet的Filter接口
2>在自定义的filter类上使用@Component注解,使之起作用,如果没有加该注解则需要使用FilterRegisterationBean注册
filter是全局的,随springboot项目启动而启动,启动的时候调用其中的init方法,真正执行过滤的是doFilter方法
springboot中拦截器的使用
1>定义拦截器
2>定义拦截器的配置类
使用springboot拦截器需要注意:
虽然springboot拦截器能拿到处理请求的controller类和方法,但是拿不到处理请求的方法的参数,如果要拿到参数则需要使用切面aspect.而在过滤器中是拿不到处理请求的类和方法的
3>定义切片类拦截请求
filter,interceptor,aspect总结
filter,interceptor,aspect都会拦截请求
filter只能获取原始的request,response,不能获取处理请求的controller,method
interceptor能获取原始的request,response,controller,method,但是不能获取请求的参数(只能获取部分参数)
aspect 能获取处理请求的controller,method,请求参数,但是不能获取原始的request,response
他们的执行顺序: