我正在使用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中显示?
答案 0 :(得分:23)
这是IE功能。当从服务器检索到的HTTP错误页面小于512字节时,IE默认会显示一个“友好”错误页面,就像您面对的那样,可以通过工具&gt;进行配置。互联网选项&gt;高级&gt;在浏览器中取消选中“显示友好错误消息”。其他(真实)浏览器没有此功能。
使您的HTTP错误页面大于512字节应解决此IE功能。您可以添加一些额外的元标题,在缩进代码中添加一些空格,在网站的标准布局后添加更多语义标记,添加大量HTML注释等。
答案 1 :(得分:1)
发现添加
<% response.setStatus(200); %>
到错误JSP页面(即在HTML标记之前)将解决问题。