gpt4 book ai didi

java - 使用 IE8 浏览器在 jboss 部署的应用程序出现 ClientAbortException

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:43:54 24 4
gpt4 key购买 nike

我在 Jboss 上部署的应用程序有以下异常,浏览器是 IE8

2012-03-19 09:17:12,014 WARN  [org.apache.catalina.core.ContainerBase.jboss.web].         [localhost]] Exception Processing ErrorPage[errorCode=404, location=/internalError.jsp]
ClientAbortException: java.net.SocketException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:327)

似乎浏览器在服务器向其写入 internalError.jsp 之前关闭了套接字。请建议如何解决它,或者至少我可以如何隐藏此异常。

谢谢希库玛

最佳答案

你无法解决它。当您的服务器仍在处理 HTTP 请求/响应时,您无法控制客户端是否会按 Esc 键,或匆忙点击不同的链接,或关闭浏览器,或使其机器崩溃等等。

您可以通过全局过滤器(映射到 /*)“隐藏”它,它会执行如下操作:

try {
chain.doFilter(request, response);
}
catch (ClientAbortException e) {
// Ignore.
}

然而,这会在您的代码中带来特定于 servletcontainer 的依赖性。有问题的过滤器将导致 NoClassDefFoundError 在不使用 Tomcat 特定 ClientAbortException 的不同品牌的 servletcontainer 上。您可能想要检查类的简单名称。利用它是 IOException 子类的优势:

try {
chain.doFilter(request, response);
}
catch (IOException e) {
if (!e.getClass().getSimpleName().equals("ClientAbortException")) {
throw e;
}
}

关于java - 使用 IE8 浏览器在 jboss 部署的应用程序出现 ClientAbortException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9788891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com