図1は、サービス遮断を実装するインターセプタ・クラスを生成します
HandlerInterceptorがインターフェイスを実装する、書き換え方法preHandle
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("实现拦截操作,进入Controller之前执行/");
return true;
}
}
コンフィギュレーションクラスファイルのメソッドで2つの書き換え追加インターセプタ
プロセス、プロセスを書き換え、インタフェースaddInterceptorsを実装WebMvcConfigurer、またはパスで提供されてもよいことはインターセプト遮りません
@Configuration //等价于Spring的xml文件
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//定义需要拦截的数组
String[] pathPatterns={
"/**"
};
//定义不需要拦截的数组
String[] excludePathPatterns={
"/web/interceptor1"
};
InterceptorRegistration interceptor = registry.addInterceptor(new LoginInterceptor());
interceptor.addPathPatterns(pathPatterns);
interceptor.excludePathPatterns(excludePathPatterns);
}
}
簡単なインターセプタが実現されています