自定义拦截器的实现
以TimeInterceopt为例
点击查看代码
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("拦截器执行了,记录开始时间");
long t1 = new Date().getTime();
request.setAttribute("starttime", t1);
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
Long t1 = (Long) request.getAttribute("starttime");
long t2 = new Date().getTime();
System.out.println(request.getRequestURI() + "执行了" + (t2 - t1) + "毫秒");
}
}
点击查看代码
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Bean
public TimeIntercept timeIntercept() {
return new TimeIntercept();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(timeIntercept())
.addPathPatterns("/**") .excludePathPatterns("/static/**");
}
}
浙公网安备 33010602011771号