Reputation: 3507
I followed this guide (http://wiki.jetbrains.net/intellij/Developing_JSF_applications) and I've created a simple Hello world application using JSF.
It runs fine and it produces a http://localhost:8080/index.faces
page that displays the phrase 'Hello world'.
The problem is that Tomcat 7 log shows a serious error.
Here is what it says :
Jan 31, 2013 5:58:42 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [An exception occurred processing JSP page /index.jsp at line 14
11: Simple jsp page 12: 13: 14: 15: 16:
17:Stacktrace:] with root cause java.lang.RuntimeException: Cannot find FacesContext at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1855) at javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1672) at org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:111) at 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 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
Jan 31, 2013 5:58:47 PM org.apache.catalina.core.ApplicationContext log
I am new to JSF so I can't understand what this error means. Any ideas? Than you.
PS : (I am running mountain lion and I am using IntelliJ Idea Ultimate 12).
Upvotes: 0
Views: 1365
Reputation: 402315
This exception can be ignored, it happens during some validation, when index.jsp
page is requested instead of index.faces
.
If you refresh index.faces
in the browser, you will not see any more errors, if you open index.jsp
, you will see the second copy of the same error in Tomcat log.
index.jsp
is the default page, so you will get this error if http://localhost:8080
is requested.
The problem can be fixed by adding the following in web.xml
under web-app
:
<welcome-file-list>
<welcome-file>index.faces</welcome-file>
</welcome-file-list>
This way index.jsp
will not be accessed when you open just http://localhost:8080
.
Upvotes: 1