美文网首页
SpringBoot支持interceptor(拦截器)

SpringBoot支持interceptor(拦截器)

作者: 庙人 | 来源:发表于2018-12-19 19:34 被阅读0次

1:创建拦截器类,实现HandlerInterceptor接口

package com.duck.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DuckTestInterceptor implements HandlerInterceptor {

    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response, Object handler) throws Exception {
        System.out.println(this.getClass().getName() + "<------>preHandle");
        return true;
    }

    public void postHandle(HttpServletRequest request,
                           HttpServletResponse response, Object handler,
                           ModelAndView modelAndView) throws Exception {
        System.out.println(this.getClass().getName() + "<------>postHandle");

    }

    public void afterCompletion(HttpServletRequest request,
                                HttpServletResponse response, Object handler, Exception ex)
            throws Exception {
        System.out.println(this.getClass().getName() + "<------>afterCompletion");

    }

}

2:创建java类,继承WebMvcConfigurerAdapter,重写addInterceptors方法
实例化拦截器类并将其添加到拦截器链中。

package com.duck.interceptor;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
public class InterceptorRegister extends WebMvcConfigurerAdapter{

    private static final Logger logger = LoggerFactory.getLogger(InterceptorRegister.class);

    /*
     * 添加spring中的拦截器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry){
        registry.addInterceptor(new DuckTestInterceptor()).addPathPatterns("/freemarker/**");
        super.addInterceptors(registry);
    }

}

3:访问http://localhost:8080/freemarker可见日志,后台已经拦截到

image.png

相关文章

网友评论

      本文标题:SpringBoot支持interceptor(拦截器)

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