代码之家  ›  专栏  ›  技术社区  ›  Christopher Klewes

如何更改对内部服务器错误的处理?

  •  2
  • Christopher Klewes  · 技术社区  · 14 年前

    我的应用程序产生一个内部服务器错误,运行在Tomcat上,它会打印一个具有给定错误的stacktrace。在Oracle上,它隐藏错误并将其发布到 application.log .

    是否可以通过部署描述符更改此设置?

    500 Internal Server Error
    
    Servlet error: An exception occurred. The current application deployment
    descriptors do not allow for including it in this response. 
    
    Please consult the application log for details.
    
    1 回复  |  直到 9 年前
        1
  •  3
  •   cherouvim    14 年前

    您可以在web.xml中定义错误处理页面:

    <error-page>
        <error-code>500</error-code>
        <location>/WEB-INF/pages/500.jsp</location>
    </error-page>
    

    如果错误代码是由应用程序显式设置的,请确保它使用 response.sendError() 而不是 response.setStatus() 因为后者将忽略web.xml中定义的自定义错误页

    通过查询错误消息,我假设这是一个运行在Java上的Web应用程序。 OAS