Glassfish中未处理的异常详细信息

时间:2011-07-09 17:07:14

标签: jsp exception servlets glassfish unhandled

我希望在Glassfish中抛出未处理的异常时看到异常细节(在网页中,而不是日志)。

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

  

HTTP状态500 -

     

输入例外报告

     

消息

     

description服务器遇到了   内部错误()阻止了它   完成此请求。

     

例外

     

java.lang.NullPointerException note   异常的完整堆栈跟踪   它的根本原因可以在   Oracle GlassFish Server 3.1日志。

     

Oracle GlassFish Server 3.1

由于

1 个答案:

答案 0 :(得分: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" %>

此属性定义java.lang.Throwable类型的变量异常,因此您可以检查throwable.jsp内的异常:

<div style="font-family: monospace">
    <pre>
<% exception.printStackTrace(new java.io.PrintWriter(pageContext.getOut())); %>
    </pre>
</div>