Java.lang.stackoverflowerror在JSF应用程序与tomcat



嗨,我试图找出stackoverflow错误。

我只知道错误来自

org.apache.catalina.core.ApplicationDispatcher。setAttribute on line278

但我不知道是什么引起的。

跟踪错误的最佳方法是什么?这就像大海捞针一样,因为有50多个课程。

我怎么知道哪个方法调用这个得到一个错误?(就像我想要打开调试模式来跟踪这个stackoverflow一样)。

如果没有看到堆栈跟踪并解释/理解重复模式,很难确定真正的原因。

然而,在JSF web应用程序中最常见的可能导致StackOverflowError的初学者错误如下:

  • 无效的FacesServlet映射。例如,映射到*.jsp上,而视图本身已经是*.jsp。你应该把它映射到别的东西上,比如*.jsf。当您将JSF2与Facelets一起使用时,这是不必要的。视图和映射都可以是*.xhtml

  • 具有无效文件扩展名的JSF视图文件。例如实际上具有page.jsf文件而不是page.jsppage.xhtml,而FacesServlet被映射到*.jsf上。

我敢打赌你的病是由这两个原因之一引起的。其他可能的原因通常归结为后台bean类中的错误代码,但它通常不会在跟踪的重复部分中涉及容器的内部类,如org.apache.catalina.core.ApplicationDispatcher

跟踪错误的最佳方法是查看堆栈跟踪,可能有一些递归正在进行,您的跟踪可能会有重复的方法调用序列

TOMCAT_HOME/logs/文件夹(Tomcat 6 &7),有一个catalina.yyyy-mm-dd.log文件,包含所有记录的消息(包括由应用程序抛出的异常)。获取最新的(今天的)日志文件并查看抛出异常的位置(通常是错误发生的最近时间)。

我有这个问题,对我来说,这似乎是一个错误-创建一个空的faces-config.xml使它消失(是解决方案)。还配置/安装了CDI。

相关内容

  • 没有找到相关文章

最新更新