Erro em Aplicação Básica utilizando JSF

Olá Pessoal, estou seguindo um exemplo utilizando JSF, e está dando a seguinte exception:

SEVERE: Servlet.service() for servlet jsp threw exception
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:107)
	at org.apache.jsp.index_jsp._jspService(index_jsp.java:78)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        ...

Abaixo segue o web.xml e faces-config.xml:

 <context-param>
 	<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
 	<param-value>client</param-value>
  </context-param>

  <context-param>
  	<param-name>javax.faces.CONFIG_FILES</param-name>
 	<param-value>/WEB-INF/faces-config.xml</param-value>
  </context-param>

  <listener>
 	<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>

  <!-- Faces Servlet -->
  <servlet>
  	<servlet-name>Faces Servlet</servlet-name>
  	<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  	<load-on-startup> 1 </load-on-startup>
  </servlet>

  <!-- Faces Servlet Mapping -->
  <servlet-mapping>
  	<servlet-name>Faces Servlet</servlet-name>
  	<url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
<navigation-rule> 
   
    <from-view-id>/buscar.jsp</from-view-id>
   
    <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>/sucesso_busca.jsp</to-view-id>
    </navigation-case>
   
    <navigation-case>
      <from-outcome>failure</from-outcome>
      <to-view-id>/falha_busca.jsp</to-view-id>
    </navigation-case>
  
  </navigation-rule>

  <navigation-rule>
  
    <from-view-id>/inserir.jsp</from-view-id>
  
    <navigation-case>
      <from-outcome>success</from-outcome>
      <to-view-id>/sucesso_insercao.jsp</to-view-id>
    </navigation-case>
  
    <navigation-case>
      <from-outcome>failure</from-outcome>
            <to-view-id>/falha_insercao.jsp</to-view-id>
    </navigation-case>
  
  </navigation-rule>

  <managed-bean>
    <managed-bean-name>agenda</managed-bean-name>
    <managed-bean-class>teste.jsf.AgendaBD</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>

Se alguem puder ajudar!

Estava com o mesmo problema e consegui resolver da seguinte forma: ao invés de acessar pela url http://localhost:8080/exemplo-jsf/index.jsf (ou http://localhost:8080/exemplo-jsf) utilize a url http://localhost:8080/exemplo-jsf/index.jsf. Você deve fazer isso por causa das seguintes linhas que estão no seu face-config.xml:

#  <!-- Faces Servlet Mapping -->  
# <servlet-mapping>  
#     <servlet-name>Faces Servlet</servlet-name>  
#     <url-pattern>*.jsf</url-pattern>  
# </servlet-mapping>