我在Eclipse + tomcat中工作。当我点击不存在页面的网址时,我的自定义静态错误页面没有显示在tomcat中。 generated-error.html有一个简单的img src =“404_man.jpg”标签。但我不断收到图片上显示的错误页面。
如果我从manifest.mf查看它,我的servlet版本是3.0。我认为这是寻找Servlet版本的正确文档?
请不要让我挂......
答案 0 :(得分:3)
在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">
答案 1 :(得分:3)
似乎是Internet Explorer问题。尝试禁用选项-“ Internet选项”的“高级”选项卡中的“显示友好的HTTP错误消息”。
答案 2 :(得分:1)
您应该在web.xml中添加error code
或exception-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>
答案 3 :(得分:1)
如果您想要静态错误页面,请执行以下操作:
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"%>
答案 4 :(得分:0)
有趣的是,我添加了<exception-type>java.lang.Exception</exception-type>
,部署了tomcat,删除了异常类型,重新启动了没有<error-code>
行的tomcat,并且它工作正常。仍然不知道造成我一整天这个问题背后的原因是什么。
编辑:重新启动,现在它无效......
我重新启动了,但仍然无效,这是缓存问题吗?这绝对是我不知道的......
答案 5 :(得分:0)
在您的错误页面中,您必须添加isErrorPage =&#34; true&#34;。
答案 6 :(得分:0)
尝试从其他浏览器,而不是内部eclipse浏览器。 并确保error.jsp与 web-inf 文件夹处于同一级别。
答案 7 :(得分:-3)
对于所有寻找简单直接解决方案的人
请执行以下操作。
1)尝试在firefox中运行
2)尝试在chrome中运行
根本原因:根本原因是Internet Explorer,因为eclipse需要
IE作为默认浏览器,您不断收到http错误。请像我说的那样做。
它适合你。如果你喜欢我的解决方案,请对它进行评论:)