10

我正在使用 Tomcat 7 和 JSP 页面。我想为 HTTP 500 错误提供一个自定义错误页面。

我所做的是在如下声明自定义错误页面web.xml

<error-page>
  <error-code>500</error-code>
  <location>/error.jsp</location>
</error-page>

我创建了一个error.jsp使用以下代码调用的 JSP:

<%@ page pageEncoding="UTF-8" isErrorPage="true" %>
<!DOCTYPE html>
<html>
  <head>
    <title>500</title>
  </head>
  <body>
    <img src="${pageContext.request.contextPath}/images/500.jpg" />
  </body>
</html>

现在这适用于大多数浏览器,但在 Internet Explorer 中,我被带到标准的“网站无法显示页面”页面。

为什么我的自定义 HTTP 500 错误页面未在 Internet Explorer 中显示?

4

2 回答 2

31

这是一个 IE 功能。当从服务器检索到的 HTTP 错误页面小于 512 字节时,IE 默认会显示一个“友好”错误页面,就像您所面对的那样,可以通过工具 > Internet 选项 > 高级 > 取消选中“显示友好”来配置错误消息”在浏览器中。其他(真实)浏览器没有此功能。

使您的 HTTP 错误页面略大于 512 字节应该可以解决此 IE 功能。您可以添加一些额外的元标题,在缩进代码中添加一些空格,在站点的标准布局之后添加更多语义标记,添加大的 HTML 注释等。

于 2012-01-26T18:34:09.680 回答
-1

发现添加

<% response.setStatus(200); %>

到错误 JSP 页面(即在 HTML 标记之前)将解决该问题。

于 2017-08-19T19:32:54.410 回答