1

当 Glassfish 中抛出未处理的异常(在网页中,而不是日志中)时,我想查看异常详细信息。

此错误页面显示,但没有有用的信息。抛出异常时是否可以查看更多详细信息?(就像在 asp.net 中一样,如果您在 web.config 中将 debugmode 设为 true,您可以看到异常详细信息

HTTP 状态 500 -

类型异常报告

信息

描述服务器遇到一个内部错误 () 阻止它完成这个请求。

例外

java.lang.NullPointerException note 异常的完整堆栈跟踪及其根本原因可在 Oracle GlassFish Server 3.1 日志中找到。

Oracle GlassFish 服务器 3.1

谢谢

4

1 回答 1

5

通常,您应该仅在开发环境中执行此类操作,因为它将内部应用程序详细信息发布到外部世界(安全问题)。不过,您可以在 web.xml 中定义一个通用异常 jsp:

<web-app>
     <error-page>
         <exception-type>java.lang.Throwable</exception-type>
         <location>/WEB-INF/jsp/throwable.jsp</location>
    </error-page>
</web-app>

throwable.jsp页面元素必须包含一个isErrorPage属性:

<%@ page isErrorPage="true" %>

该属性定义了type的变量exceptionjava.lang.Throwable,因此您可以在里面检查您的异常throwable.jsp

<div style="font-family: monospace">
    <pre>
<% exception.printStackTrace(new java.io.PrintWriter(pageContext.getOut())); %>
    </pre>
</div>
于 2011-07-09T18:16:44.350 回答