好吧,自從我加入這個網站後,我已經運行了我的第一個StackOverflowError,我想這是一個必須發佈:-)。我的環境是Seam 2.0.1.GA,JBoss 4.2.2.GA,我正在使用JSF。我正在從facelets視圖轉換爲JSP,以利用現有網站上使用的一些現有JSP標記。我嘗試渲染jsp頁面時,更改了faces-config.xml和web.xml配置文件並開始接收以下錯誤。任何人有任何想法?Faces Servlet拋出異常java.lang.StackOverflowError
2008-09-17 09:45:17537 DEBUG [org.jboss.seam.contexts.FacesLifecycle] 開始JSF請求/form_home.jsp 2008-09-17 09:45:17587 ERROR [org.apache.catalina.core.ContainerBase。[jboss.web]。[localhost]。[/]。[Faces Servlet]] Servlet.service()for servlet Faces Servlet拋出異常 java.lang.StackOverflowError at org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:210) at org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:222) 在org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:222) 在org.apache.catalina.core.ApplicationHttpRequest.getAttribute(ApplicationHttpRequest.java:222) ...
我faces-config.xml文件現在是空的,沒有FaceletsViewHandler:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
</faces-config>
我的web.xml文件:
<?xml version="1.0"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Ajax4jsf -->
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<!-- Seam -->
<listener>
<listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
</listener>
<filter>
<filter-name>Seam Filter</filter-name>
<filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Seam Filter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Seam Resource Servlet</servlet-name>
<servlet-class>org.jboss.seam.servlet.SeamResourceServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Seam Resource Servlet</servlet-name>
<url-pattern>/seam/resource/*</url-pattern>
</servlet-mapping>
<!-- Seam end -->
<!-- JSF -->
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jsp</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
您可能希望使開頭語句更清楚。第一印象是這是網站本身的堆棧溢出錯誤。 ;) 不是每個人都知道java。 – 2008-09-17 17:21:10
我有一個同事得到相同的錯誤(代碼適用於我),但模式應該是正確的(.xhtml與* .seam) - 是在這種情況下重要的Seam過濾器映射? – larsivi 2008-09-24 12:23:57