带有tomcat的jsf应用程序上的java.lang.stackoverflowerror

标签 java jsf tomcat stack-overflow

您好,我正在尝试找出 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.jsppage.xhtml FacesServlet 映射到 *.jsf

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

关于带有tomcat的jsf应用程序上的java.lang.stackoverflowerror,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7093798/

相关文章:

java - 如何为 MongoDB 和 Spring Boot 将主机名定义到 docker-compose.yml 中

java - 创建数据库 View 与创建 Hibernate 映射 - 性能

java - 如何使用 Morphia 从 Mongo 数据存储中检索大量文档?

java - JSF 2.0 和 Hibernate 错误

java - 您可以将对象强制转换为它未显式实现的接口(interface)吗?

hibernate - JSF <h :inputText/> character encoding issue

jpa - Primefaces Lazy Datatable 排序/过滤表关系 - Eclipselink

apache - Http 表单未发布

tomcat - 如何在 Java EE 应用程序中从 Tomcat 获取所有角色列表

tomcat - Itext 5.5 将 RTL 语言(阿拉伯语)的 HTML 转换为 PDF 不适用于 tomcat