JSF - Erro insuportavel

Olá pessoal,

estou tentando executar uma pagina simples usando JSF mas num funciona por nada.

O código esta listado abaixo:


<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
   "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
            
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
        <title>Tópicos Especiais em Informática - Seminários JSF</title> 
    </head> 
    <body> 
    <f:view> 
        <h:inputText value="lalla" /> 
    </f:view> 
    <br/> 
    <a href="./faces/welcomeJSF.jsp">Java Server Faces Page</a> 
        
    </body> 
</html> 

E o erro gerado é famoso mas nao estou conseguindo resolve-lo. Normalmente a solucao que encontrei para esse erro esta dizendo que estou tentando navegar por paginas jsp que dever serm colocadas no link com a extensao .jsf.

Mas nesse exemplo nao estou navegando…quero apenas mostrar um campo texto na pagina usando JSF e nao estou conseguindo.

Estou usando a IDE Netbeans para a execuçao


exception 

javax.servlet.ServletException: Cannot find FacesContext 
   org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) 
   org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) 
   org.apache.jsp.index_jsp._jspService(index_jsp.java:85) 
   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) 
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) 
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) 
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) 
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
   org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362) 


root cause 

javax.servlet.jsp.JspException: Cannot find FacesContext 
   javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:405) 
   com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:105) 
   org.apache.jsp.index_jsp._jspx_meth_f_view_0(index_jsp.java:100) 
   org.apache.jsp.index_jsp._jspService(index_jsp.java:72) 
   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) 
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) 
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) 
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) 
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
   org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362) 

Obrigado pela ajuda

Marcos,
Tudo depende de como estah o mapeamento no seu arquivo web.xml. Eh nele que decidimos como acessar nossas paginas JSF.

Exemplo. Suponhamos que a pagina que vc postou chama-se index.jsp.

Entao, dependendo de como estiver seu web.xml, vc pode acessar a pagina de formas diferentes. Se estiver assim:

 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>/faces/*</url-pattern>
 </servlet-mapping>

entao vc acessa usando: dominio/contexto/faces/index.jsp

Se estiver assim:

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

Entao vc acessa assim: dominio/contexto/index.jsf

Podem existir outras formas. Se estiver usando MyFaces ao inves da RI, entao pode encontrar algo assim:

 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.faces</url-pattern>
 </servlet-mapping>

Jah sacou como acessar neh?

Se nao for nada disso, poste o log do tomcat para que eu possa ver.

Espero ter ajudado