web.xml自定义错误页面无效

时间:2013-11-11 09:11:03

标签: java eclipse tomcat custom-error-pages

我在Eclipse + tomcat中工作。当我点击不存在页面的网址时,我的自定义静态错误页面没有显示在tomcat中。 generated-error.html有一个简单的img src =“404_man.jpg”标签。但我不断收到图片上显示的错误页面。

enter image description here

如果我从manifest.mf查看它,我的servlet版本是3.0。我认为这是寻找Servlet版本的正确文档?

enter image description here 请不要让我挂......

8 个答案:

答案 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 codeexception-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>
    静态错误文件中的
  1. (即error-404.jsp)在依赖于页面的属性中添加“isErrorPage =”true“。参见示例:
  2. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1" isErrorPage="true"%>
    
    1. 尝试使用firefox或chrome。很多时候它对我有用。

答案 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错误。请像我说的那样做。

它适合你。如果你喜欢我的解决方案,请对它进行评论:)