您无法解决。当服务器仍在处理HTTP请求/响应时,您无法控制客户端是按Esc键,还是匆匆单击其他链接,或关闭浏览器,或使其机器崩溃等。
您可以通过执行以下操作的全局过滤器(映射到
/*)来“隐藏”它:
try { chain.doFilter(request, response);}catch (ClientAbortException e) { // Ignore.}但是,这在代码中带来了特定于servletcontainer的依赖性。有问题的过滤器将导致
NoClassDefFoundError一个不使用特定于Tomcat的不同品牌的servlet容器
ClientAbortException。您可能要改为检查类的简单名称。利用它的子类优势
IOException:
try { chain.doFilter(request, response);}catch (IOException e) { if (!e.getClass().getSimpleName().equals("ClientAbortException")) { throw e; }}


