您好,我正在尝试找出 stackoverflow 错误。
我只知道错误来自
org.apache.catalina.core.ApplicationDispatcher.setAttribute on line 278
但我不知道是什么原因造成的。
跟踪错误的最佳方法是什么?这就像大海捞针一样,因为有 50 多个类。
我怎么知道哪个方法调用它会出错? (比如我想打开 Debug模式以跟踪此 stackoverflow 的方法)。
最佳答案
如果不查看堆栈跟踪并解释/理解重复模式,就很难确定真正的原因。
但是,在 JSF 网络应用程序中可能导致 StackOverflowError
的最常见初学者错误如下:
无效的
FacesServlet
映射。例如。映射到*.jsp
而 View 本身已经是*.jsp
。你应该把它映射到别的东西上,例如*.jsf
。当您将 JSF2 与 Facelets 一起使用时,这不是必需的。 View 和映射都可以是*.xhtml
。具有无效文件扩展名的 JSF View 文件。例如。 实际上有一个
page.jsf
文件而不是page.jsp
或page.xhtml
而FacesServlet
映射到*.jsf
。
我敢打赌,你的是由这些原因中的任何一个引起的。其他可能的原因通常归结为支持 bean 类中的错误代码,但通常不会涉及容器的内部类,例如跟踪的重复部分中的 org.apache.catalina.core.ApplicationDispatcher
.
关于带有tomcat的jsf应用程序上的java.lang.stackoverflowerror,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7093798/