1、按照Spring mvc的方式编写一个拦截器类
package com.hbsc.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 LoginInterceptor implements HandlerInterceptor {
/**
* 方法执行之前
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
return false;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
2、编写一个配置类实现WebMvcConfigurer接口
SpringBoot2.x中不能继承WebMvcConfigurerAdapter类,这个类已经过期了需要实现它的父接口WebMvcConfigurer
/**
* 相当于注册拦截器
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//addPathPatterns 拦截,excludePathPatterns 不拦截
registry.addInterceptor(new LoginInterceptor()).addPathPatterns(new String[]{"/h1"}).excludePathPatterns(new String[]{"h2"});
}
}