首先自定义一个拦截器
package com.example.demo.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @Author: zhangjun
* @Date: 2021/5/23 21:04
*/
@Component
public class TestInter implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("拦截前");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("拦截后");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("拦截器:清理");
}
}
实现WebMvcConfigurer接口,将拦截器注册进去
package com.example.demo.config;
import org.aspectj.weaver.ast.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @Author: zhangjun
* @Date: 2021/5/26 22:28
* 实现WebMvcConfigurer接口即可以扩展mvc
*/
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Autowired
private TestInter testInter;
//重写注册拦截器的方法
@Override
public void addInterceptors(InterceptorRegistry registry) {
//将拦截器注册进来,并且设置温拦截所有请求
registry.addInterceptor(testInter).addPathPatterns("/**");
}
}