定义拦截器
public class MyInterceptor implements HandlerInterceptor {// 实现HandlerInterceptor接口protected static Logger logger = LoggerFactory.getLogger(HandlerInterceptor.class);/*** 访问控制器方法前执行*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {logger.info("{}--preHandle:{}", LocalDateTime.now(), request.getRequestURL());return true;}/*** 访问控制器方法后执行*/@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,ModelAndView modelAndView) throws Exception {logger.info("{}--postHandle:{}", LocalDateTime.now(), request.getRequestURL());}/*** postHandle方法执行完成后执行,一般用于释放资源*/@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)throws Exception {logger.info("{}--afterCompletion:{}", LocalDateTime.now(), request.getRequestURL());}}
配置拦截器
@Configurationpublic class WebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 对所有访问路径,都通过MyInterceptor类型的拦截器进行拦截registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");}}
