Internet Explorer中不显示自定义HTTP错误页面

时间:2012-01-26 18:01:20

标签: jsp internet-explorer custom-error-pages

我正在使用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中显示?

2 个答案:

答案 0 :(得分:23)

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

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

答案 1 :(得分:1)

发现添加

<% response.setStatus(200); %>

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