Java Tomcat 7中错误代码500的自定义错误页

Java Tomcat 7中错误代码500的自定义错误页,java,tomcat,servlets,Java,Tomcat,Servlets,伙计们,我正在努力解决在Windows环境下在Tomcat中打开自定义错误页的问题。我得到了一些解决方案,但没有运气。我尝试了几乎所有的链接,但它不适合我。其中一些用于Tomcat中部署的其他解决方案,但不用于我的Web服务 My web.xml 仅供参考,对于其他Tomcat内置解决方案,它工作良好,工作完美。但在我的网络服务中,我得到了500条回复,但页面一片空白。还有一件事,我已经禁用了我的InternetExplorer9.0显示错误友好页面,但仍然有来自servlet的500条响应

伙计们,我正在努力解决在Windows环境下在Tomcat中打开自定义错误页的问题。我得到了一些解决方案,但没有运气。我尝试了几乎所有的链接,但它不适合我。其中一些用于Tomcat中部署的其他解决方案,但不用于我的Web服务

My web.xml


仅供参考,对于其他Tomcat内置解决方案,它工作良好,工作完美。但在我的网络服务中,我得到了500条回复,但页面一片空白。还有一件事,我已经禁用了我的InternetExplorer9.0显示错误友好页面,但仍然有来自servlet的500条响应。但错误页面将变为空


如果对我的问题有任何想法或疑问,请告诉我。我尽快需要它。

尝试将以下代码片段放入您的
WEB-INF/WEB.xml

<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>

500
/Error.jsp
java.lang.Exception
/Error.jsp

在这种情况下,
Error.jsp
WEB-INF
目录处于同一级别(不在其中)。

如果您使用嵌入式Tomcat,则可以通过编程实现相同的功能,例如:

        Context appContext = ...            
        ErrorPage errorPage = new ErrorPage();
        errorPage.setErrorCode(HttpServletResponse.SC_NOT_FOUND);
        errorPage.setLocation("/my_custom_error_page.html");
        appContext.addErrorPage(er);

当出现错误时,为什么web服务试图为HTML页面提供服务?…您的servlet和JSP与web服务有什么关系?你确定你知道什么是web服务吗?因为我们在项目中使用自定义错误页是的,我知道我使用什么web服务将所有输出发送到浏览器以下载图像和jsp页面/html页面,我想清楚地显示自定义错误页?@SumitSharma我遇到了与你描述的问题类似的问题-Tomcat打印的错误页与我在
web.xml
中指定的错误页不同。你解决问题了吗?这似乎对我有帮助!注意,顺序很重要,您希望在异常映射之前使用500映射(如图所示)
<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>
        Context appContext = ...            
        ErrorPage errorPage = new ErrorPage();
        errorPage.setErrorCode(HttpServletResponse.SC_NOT_FOUND);
        errorPage.setLocation("/my_custom_error_page.html");
        appContext.addErrorPage(er);