JSP错误页面生成一个JSP错误
我的SpringMVCWeb应用程序有一个错误页面,其中有一个可折叠的堆栈跟踪元素(显然是一个开发/调试选项)。这过去工作得很好,并且显示了来自控制器(有时来自JSP引擎)的正确堆栈跟踪 Q:JSP可能是错误页面,还是应该是静态HTML Q:我做错了什么 事件链(我认为)是由my web.xml中定义的错误处理程序驱动的:JSP错误页面生成一个JSP错误,jsp,jetty,custom-error-pages,Jsp,Jetty,Custom Error Pages,我的SpringMVCWeb应用程序有一个错误页面,其中有一个可折叠的堆栈跟踪元素(显然是一个开发/调试选项)。这过去工作得很好,并且显示了来自控制器(有时来自JSP引擎)的正确堆栈跟踪 Q:JSP可能是错误页面,还是应该是静态HTML Q:我做错了什么 事件链(我认为)是由my web.xml中定义的错误处理程序驱动的: <error-page> <exception-type>java.lang.Throwable</exception-type>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/view/errors/internalError.jsp</location>
</error-page>
这里似乎发生了以下一连串事件:
抛出新的RuntimeException(“无香蕉”)
org.apache.taglibs.standard.tag.common.core.ImportSupport
。我看过一些网络帖子,人们说这与从web-INF目录导入有关
// disallow inappropriate response codes per JSTL spec
if (irw.getStatus() < 200 || irw.getStatus() > 299) {
throw new JspTagException(irw.getStatus() + " " + stripSession(targetUrl));
}
//根据JSTL规范不允许不适当的响应代码
if(irw.getStatus()<200 | | irw.getStatus()>299){
抛出新的JSPTageException(irw.getStatus()+“”+stripSession(targetUrl));
}
尽管在这里看起来任何HTTP 500错误都会破坏它。但这不是页面应该出现的错误吗
问:JSP可能是一个错误页面,还是应该是静态HTML
很好。它甚至可以是一个servlet或其他东西。当然,只要它没有bug
问:我做错了什么
您的错误页面有一个错误。显然,您在错误页面中使用了
,以包含/WEB-INF
中的一个片段。这是不允许的,因为它不是公共资源(老实说,我不记得它在古老的JSTL版本中会起作用)。相反,使用
哇,你能从我的帖子中猜到这一点真是太神奇了。这正是我正在做的。这完全修复了它,所有页面的默认父级都在不必要地使用。我仍然不明白为什么错误页面中的错误显示正确。。因为,它也使用默认的父对象。
// disallow inappropriate response codes per JSTL spec
if (irw.getStatus() < 200 || irw.getStatus() > 299) {
throw new JspTagException(irw.getStatus() + " " + stripSession(targetUrl));
}