美文网首页
Java拦截器(Interceptor)

Java拦截器(Interceptor)

作者: 黑曼巴yk | 来源:发表于2020-07-25 22:52 被阅读0次

    前言

    过滤器(Filter)关注的是web请求,拦截器(Interceptor)可以理解为“拒你所想拒”。拦截器关注的是方法调用。比如拦截敏感词汇。

    • interceptor基于JAVA反射原理实现
    • interceptor 不依赖于servlet容器,Filter依赖servlet容器
    • interceptor只对Action起作用,Filter对所有请求起作用
    • interceptor可以访问Action上下文和值栈的对象,过滤器不能
    • 在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时调用一次。

    使用

    HandlerInterceptorAdapter

    public class HandlerInterceptorAdapter implements HandlerInterceptor {
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            response.sendError(403);
            return false;
        }
    }
    

    注册

    MyInterceptorConfig

    @Configuration
    public class MyInterceptorConfig implements WebMvcConfigurer {
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(new HandlerInterceptorAdapter()).addPathPatterns("/**");
        }
    }
    

    相关文章

      网友评论

          本文标题:Java拦截器(Interceptor)

          本文链接:https://www.haomeiwen.com/subject/lskvlktx.html