我遵循了本指南(http://wiki.jetbrains.net/intellij/Developing_JSF_applications),并使用JSF创建了一个简单的Hello world应用程序。
它运行正常,它会生成一个显示短语“Hello world”的http://localhost:8080/index.faces
页面。
问题是Tomcat 7日志显示严重错误。
以下是它的说法:
2013年1月31日下午5:58:42 org.apache.catalina.core.StandardWrapperValve 在上下文中用servlet [jsp]调用SEVERE:Servlet.service() path []抛出异常[处理JSP页面时发生异常 第14行的/index.jsp
11:简单的jsp第12:13页: 14:15:16:
17:Stacktrace:]带根本原因java.lang.RuntimeException:找不到 FacesContext at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1855) 在 javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1672) 在 org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:111) 在org.apache.jsp.index_jsp._jspService(index_jsp.java:83)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 在org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 在 org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:310) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:603) 在java.lang.Thread.run(Thread.java:722)
2013年1月31日下午5:58:47 org.apache.catalina.core.ApplicationContext 日志
我是JSF的新手,所以我无法理解这个错误意味着什么。 有任何想法吗? 比你。
PS :(我正在运行山狮,我正在使用IntelliJ Idea Ultimate 12)。答案 0 :(得分:1)
此异常可以忽略,它在某些验证期间发生,当请求index.jsp
页而不是index.faces
时。
如果您在浏览器中刷新index.faces
,则不会再看到任何错误,如果您打开index.jsp
,您将在Tomcat日志中看到相同错误的第二个副本。
index.jsp
是默认页面,因此如果请求http://localhost:8080
,您将收到此错误。
可以通过在web.xml
下的web-app
中添加以下内容来修复此问题:
<welcome-file-list>
<welcome-file>index.faces</welcome-file>
</welcome-file-list>
当您只打开index.jsp
时,将无法访问此http://localhost:8080
。