Java JSF2.0启动时出错
我在配置JSF页面时遇到问题。 我曾经在软件项目中使用JSF,但那是很久以前的事了。现在我需要它用于一个私人项目,启动我的JSF页面时遇到了一个巨大的问题。 因为这是很久以前我最后一次使用它,所以我决定按照教程开始。是的。我试图在本地主机上的Tomcat6.0上运行它,但页面上显示了一个错误Java JSF2.0启动时出错,java,tomcat,jsf-2,Java,Tomcat,Jsf 2,我在配置JSF页面时遇到问题。 我曾经在软件项目中使用JSF,但那是很久以前的事了。现在我需要它用于一个私人项目,启动我的JSF页面时遇到了一个巨大的问题。 因为这是很久以前我最后一次使用它,所以我决定按照教程开始。是的。我试图在本地主机上的Tomcat6.0上运行它,但页面上显示了一个错误 type Exception report message description The server encountered an internal error () that prevented
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
root cause
java.lang.StackOverflowError
java.net.URLStreamHandler.equals(Unknown Source)
java.net.URL.equals(Unknown Source)
java.util.concurrent.ConcurrentHashMap.get(Unknown Source)
com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:95)
com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:121)
com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:62)
com.sun.faces.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:256)
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:366)
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)
com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)
com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308)
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367)
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)
我不知道,为什么。代码与教程中的代码完全相同。这是我的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Test</display-name>
<welcome-file-list>
<welcome-file>login.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>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
</web-app>
试验
login.xhtml
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.xhtml
状态保存方法:“客户端”或“服务器”(=默认值)。参见JSF规范2.5.2
javax.faces.STATE_保存方法
客户
javax.servlet.jsp.jstl.fmt.localizationContext
资源.应用
com.sun.faces.config.ConfigureListener
我希望你能帮助我。
你好好的,伙计们,
我尝试了所有的方法,一段一段地删除代码,看看会发生什么。
我发现了
<ui:composition template="">
他在制造麻烦。刚刚删除了它,一切正常。您在一个无限循环中递归地包含了同一个模板。