PWC1232:超过嵌套请求分派的最大深度:20 在 org.apache.catalina.core.ApplicationDispatcher.doInvoke
PWC1232: Exceeded maximum depth for nested request dispatches: 20 at org.apache.catalina.core.ApplicationDispatcher.doInvoke
我将 jsf 2.1 (mojara) 与 glassfish 3.1 一起使用,我的网站 .xml 看起来像:
<welcome-file-list>
<welcome-file>NewFile.xhtml</welcome-file>
</welcome-file-list>
<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>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
我遇到了这个错误
2015-03-11T21:40:15.054+0530|Warning:
ApplicationDispatcher[/JSFProject] PWC1231: Servlet.service() for
servlet Faces Servlet threw exception javax.servlet.ServletException:
PWC1232: Exceeded maximum depth for nested request dispatches: 20 at
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:772)
此问题表明您使用的是 JSF 1.x,而不是 JSF 2.x。 JSF 1.x 使用 JSP 作为默认视图技术,而 JSF 2.x 使用 Facelets 作为默认视图技术。而且,JSF 1.x 有一个已知错误 ("feature"),当它被映射到相同的后缀 URL 模式时,它的 FacesServlet
会 运行 进入无限循环物理视图文件。
事实上,您的 /WEB-INF/lib
包含以下绝对不属于那里的 JAR。 GlassFish 作为一个成熟的 Java EE 容器已经随 Servlet 和 JSF API/impl 开箱即用。
javax.servlet.jar
(Servlet API;已由 GlassFish 提供!)
jsf-api.jar
(Mojarra 1.x;GlassFish 已经提供 Mojarra 2.x!)
jsf-impl.jar
(Mojarra 1.x;GlassFish 已经提供 Mojarra 2.x!)
myfaces-api-1.1.5.jar
(MyFaces 1.x;GlassFish 已提供 Mojarra 2.x!)
myfaces-impl-1.1.5.jar
(MyFaces 1.x;GlassFish 已提供 Mojarra 2.x!)
摆脱他们。即便如此,您也不应该在一个 webapp 中混合使用多个 JSF 实现。
我将 jsf 2.1 (mojara) 与 glassfish 3.1 一起使用,我的网站 .xml 看起来像:
<welcome-file-list>
<welcome-file>NewFile.xhtml</welcome-file>
</welcome-file-list>
<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>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
我遇到了这个错误
2015-03-11T21:40:15.054+0530|Warning: ApplicationDispatcher[/JSFProject] PWC1231: Servlet.service() for servlet Faces Servlet threw exception javax.servlet.ServletException: PWC1232: Exceeded maximum depth for nested request dispatches: 20 at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:772)
此问题表明您使用的是 JSF 1.x,而不是 JSF 2.x。 JSF 1.x 使用 JSP 作为默认视图技术,而 JSF 2.x 使用 Facelets 作为默认视图技术。而且,JSF 1.x 有一个已知错误 ("feature"),当它被映射到相同的后缀 URL 模式时,它的 FacesServlet
会 运行 进入无限循环物理视图文件。
事实上,您的 /WEB-INF/lib
包含以下绝对不属于那里的 JAR。 GlassFish 作为一个成熟的 Java EE 容器已经随 Servlet 和 JSF API/impl 开箱即用。
javax.servlet.jar
(Servlet API;已由 GlassFish 提供!)jsf-api.jar
(Mojarra 1.x;GlassFish 已经提供 Mojarra 2.x!)jsf-impl.jar
(Mojarra 1.x;GlassFish 已经提供 Mojarra 2.x!)myfaces-api-1.1.5.jar
(MyFaces 1.x;GlassFish 已提供 Mojarra 2.x!)myfaces-impl-1.1.5.jar
(MyFaces 1.x;GlassFish 已提供 Mojarra 2.x!)
摆脱他们。即便如此,您也不应该在一个 webapp 中混合使用多个 JSF 实现。