当我使用自定义HandlerInterceptor并且我的控制器返回时DeferredResult,preHandle我的自定义拦截器的 方法在每个请求上调用两次.考虑一个玩具示例.
我的自定义拦截器:
public class MyInterceptor implements HandlerInterceptor {
static int i = 0;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println(i++);
return true;
}
@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 {
}
}
Run Code Online (Sandbox Code Playgroud)
我的Spring Java配置:
@Configuration
@EnableWebMvc
public class ApplicationConfiguration extends WebMvcConfigurerAdapter {
@Override
public void …Run Code Online (Sandbox Code Playgroud)