skiabox
skiabox

Reputation: 3507

Tomcat 7 Log produces an error when a simple JSF application is running

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

Answers (1)

CrazyCoder
CrazyCoder

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

Related Questions