我希望在Glassfish中抛出未处理的异常时看到异常细节(在网页中,而不是日志)。
此错误页面显示但没有有用的信息。抛出异常时是否可以选择查看更多详细信息? (就像在asp.net中一样,如果你在web.config中使debugmode为true,你可以看到异常细节)
HTTP状态500 -
输入例外报告
消息
description服务器遇到了 内部错误()阻止了它 完成此请求。
例外
java.lang.NullPointerException note 异常的完整堆栈跟踪 它的根本原因可以在 Oracle GlassFish Server 3.1日志。
Oracle GlassFish Server 3.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>