我在 Eclipse+tomcat 中工作。当我单击不存在页面的 url 时,我的自定义静态错误页面未显示在 tomcat 中。generated-error.html 有一个简单的 img src="404_man.jpg" 标签。但我不断收到图片上显示的错误页面。
如果我从 manifest.mf 查看,我的 servlet 版本是 3.0。我认为寻找 Servlet 版本的正确文档?
请不要让我挂...
我在 Eclipse+tomcat 中工作。当我单击不存在页面的 url 时,我的自定义静态错误页面未显示在 tomcat 中。generated-error.html 有一个简单的 img src="404_man.jpg" 标签。但我不断收到图片上显示的错误页面。
如果我从 manifest.mf 查看,我的 servlet 版本是 3.0。我认为寻找 Servlet 版本的正确文档?
请不要让我挂...
在 servlet 版本 3.0 之前,您必须使用error-code
标记指定错误代码。从 3.0 开始不需要它。检查你是否真的使用这个版本。您的web-app
标签应如下所示:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
似乎是 Internet Explorer 的问题。尝试禁用选项 - “Internet 选项”的“高级”选项卡中的“显示友好的 HTTP 错误消息”。
您应该在 web.xml 中为特定错误添加error code
orexception-type
标记...
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
在您的错误页面中,您必须添加 isErrorPage="true"。
如果您想要静态错误页面,则需要执行以下操作:
1.在 web.xml 文件中包含类似于下面给出的示例:
<error-page>
<error-code>404</error-code>
<location>/error-404.jsp</location>
</error-page>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" isErrorPage="true"%>
有趣的是,我添加了<exception-type>java.lang.Exception</exception-type>
,部署了tomcat,删除了异常类型,重新启动了没有<error-code>
行的tomcat,它工作了。仍然不知道导致我一整天的问题背后的原因是什么。
编辑:重新启动,现在它不起作用......
我又重启了,还是不行,是缓存问题吗?这绝对是我不知道的事情......
从另一个浏览器尝试,而不是内部 Eclipse 浏览器。并确保 error.jsp 与web-inf文件夹处于同一级别。
对于所有正在寻找简单直接的解决方案的人
请执行以下操作。
1)尝试在Firefox中运行
2)尝试在chrome中运行
根本原因:根本原因是internet explorer,因为eclipse需要
IE 作为默认浏览器,您不断收到 http 错误。请照我说的做
它会为你工作。如果您喜欢我的解决方案,请对其发表评论:)