Primeiro projeto JSF ja com erro!

Java

03/02/2011

Boa noite a todos
Estou tendo dificuldades para roda meu primeiro projeto em JSF, estou usando o netbeans 6.9.
Crio o projeto WEB  e na ultima e tapa do assistente eu marco a opção para usar JavaServerFaces 1.2 em Framworks  e altero o padrão de URL do servlet JSF para :*.faces ,
Como de costume, o netbeans cria dois arquivos  para te um idéia de como trabalha com a linguagem. Ao tentar copila o arquivo WecomeJSF.jsp criado pelo netbeans sem altera nada
Ele já me gera um erro que não sei como resolve já procurei bastante no fórum mas ainda não resolvi o problema .
Erro que mostra no navegador :
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.RuntimeException: Cannot find FacesContext
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.RuntimeException: Cannot find FacesContext
    javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1811)
    javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1628)
    org.apache.jsp.welcomeJSF_jsp._jspx_meth_f_005fview_005f0(welcomeJSF_jsp.java:95)
    org.apache.jsp.welcomeJSF_jsp._jspService(welcomeJSF_jsp.java:70)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.


O engraçado e que si eu cria um projeto como falei ai encima  mas não altera o padrão de URL do servlet JSF  e deixa como :/faces/* ele roda a pagina  WecomeJSF.jsp  ma gera La em baixo no netbeans um log tomcat este erro:
03/02/2011 21:06:17 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
03/02/2011 21:06:18 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcher'
03/02/2011 21:15:17 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet jsp threw exception
java.lang.RuntimeException: Cannot find FacesContext
        at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1811)
        at javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1628)
        at org.apache.jsp.welcomeJSF_jsp._jspx_meth_f_005fview_005f0(welcomeJSF_jsp.java:95)
        at org.apache.jsp.welcomeJSF_jsp._jspService(welcomeJSF_jsp.java:70)
        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:377)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        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)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)
Igor Chemin

Igor Chemin

Curtidas 0

Respostas

Dyego Carmo

Dyego Carmo

03/02/2011

Qual o endereço no browser que voce esta acessando ?

no lugar de http://localhost/minhapagina.jsp

tente:

http://localhost/faces/minhapagina.jsp

Valeu !

GOSTEI 0
Silvio Junior

Silvio Junior

03/02/2011

Olá!

É que no arquivo forwardToJSF.jsp na tag <jsp:forward page="forwardToJSF.jsp"/> está redirecionando para a mesma página, é só trocar para o arquivo  seja a principal do projeto. Por exemplo <jsp:forward page="welcomeJSF.jsp"/>

Isso esta acontecendo na versão 6.9 toda.

valeu
GOSTEI 0
Igor Chemin

Igor Chemin

03/02/2011

Bom dia! Foi resolvido o problema como o Silvio explico para fazer: Tive que mudar  forwardToJSF para ele redirecionar para o arquivo WecomeJSF.faces.

deixando assim :

<jsp:forward page="WecomeJSF.faces"/> ou a pagina jsp que vc quer indicar, lembrando que a pagina é realmente WecomeJSF.jsp mas tive que deixa com a extensão .faces na tag <jsp:forward page="WecomeJSF.faces"/>   Muito obrigado pela ajuda Silvio e meus parabéns Prof.Dyego estou aprendendo JSF através da suas vídeo aulas.
GOSTEI 0
POSTAR