姑且原因是 Spring 的异常未配置拦截时, 静态资源抛出的异常将不会显示打印
当配置了如下内容时
@Component
public class Error500 implements HandlerExceptionResolver {
private Logger log = LoggerFactory.getLogger(getClass());
@Override
public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
ModelAndView mav = new ModelAndView();
if(e.getClass().getName().equals("org.apache.catalina.connector.ClientAbortException")){
log.debug("304缓存错误,不做处理!");
mav.setStatus(HttpStatus.NOT_MODIFIED);
return mav;
}
e.printStackTrace();
mav.setViewName("redirect:/error-500");
return mav;
}
}
这个中断异常将会被捕捉到, 而此处我做了忽略处理
结语
问题由 浏览器 + 服务器 + 框架共通产生, 这只是一个异常, 浏览器请求不到时会尝试重新请求
正如同 页面加载一半时刷新一样
如果不想看见,就做如上拦截处理吧