HTTP Status 404 - Aplicação configurada corretamente [RESOLVIDO]

Olá, configurei um projeto web com Tomcat de acordo com uma apostila, mas não encontra a página index.xhtml, dá o erro 404.
Está pegando index.jsp e não index.xhtml, alguém sabe onde corrigir isso? O Tomcat está subindo normalmente no eclipse na porta 8082 e na url digito
http://localhost:8082/fj26-notas-fiscais/index.xhtml

Obrigado.

Segue como está configurado.

fj26-notas-fiscais/web/WEB-INF/web.xml
fj26-notas-fiscais/web/index.xhtml

web.xml
[code<?xml version="1.0" encoding="UTF-8"?>

fj26-notasfiscais

index.xhtml
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp


Faces Servlet
javax.faces.webapp.FacesServlet
1


Faces Servlet
*.xhtml

[/code]

type Status report
message /fj26-notasfiscais/index.xhtml
description The requested resource (/fj26-notasfiscais/index.xhtml) is not available.

Oi Marcio!

O Tomcat sobe sem exceptions no console?
Pelo erro me parece versão do JSF. Tá com a versão 2.0 aí mesmo? Todos os JARs certinhos?

Abraços

Conseguiu resolver o problema aí?

Abraços

Oi Sérgio, eu não vi que vc respondeu aqui no fórum, como ninguém tinha respondido eu acabei não olhando mais o tópico e te enviei um email.
Bom, no email que te enviei, mostrei o log do tomcat que subiu normal, sem erro nenhum. Quanto às bibliotecas acredito que estejam certas, mas darei uma nova verificada e posto aqui. obrigado.

Oi Marcio!

Será que a aplicação não está configurada no container? Veja na aba Servers no Eclipse se a aplicação está sendo mostrada por lá.

Abraços

[color=darkblue][/color][quote]Será que a aplicação não está configurada no container? Veja na aba Servers no Eclipse se a aplicação está sendo mostrada por lá.[/quote]
Não entendi, configurei conforme a apostila. A aba servers mostra o seguinte:

Tomcat v6.0 Server at localhost [Started, Syncronized]
fj26-notasfiscais

Tenho os seguintes jars na pasta “fj26-notasfiscais\WebContent\WEB-INF\lib” dos pacotes facelets-1.1.15-jsf1.2 , mojarra-2.0.3-FCS e hibernate-distribution-3.6.0.Final

hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
jsf-api.jar
jsf-facelets.jar
jsf-impl.jar

Na apostila, não fala quais jars devo usar, pois fala pra pegar os jars disponibilizados na pasta Caelum.
Está faltando algum jar?

Abaixo, o log do console ao subir o tomcat.

04/01/2011 10:18:44 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Arquivos de programas\Java\jre6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Arquivos de programas/Java/jre6/bin/client;C:/Arquivos de programas/Java/jre6/bin;C:/Arquivos de programas/Java/jre6/lib/i386;C:\Arquivos de programas\CA\Dcs\DMScripting;C:\Arquivos de programas\CA\DCS\CAWIN;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\CA\Unicenter Software Delivery\BIN;D:\andre\installers\apache-maven-2.0.10\bin;C:\Arquivos de programas\Java\jdk1.6.0_16\bin
04/01/2011 10:18:45 org.apache.tomcat.util.digester.SetPropertiesRule begin
AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:fj26-notasfiscais’ did not find a matching property.
04/01/2011 10:18:45 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8082
04/01/2011 10:18:45 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 516 ms
04/01/2011 10:18:45 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
04/01/2011 10:18:45 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
04/01/2011 10:18:45 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener “com.sun.faces.config.ConfigureListener” is already configured for this context. The duplicate definition has been ignored.
04/01/2011 10:18:46 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Sun’s JavaServer Faces implementation (1.2_04-b10-p01) for context ‘/fj26-notasfiscais’
04/01/2011 10:18:47 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8082
04/01/2011 10:18:47 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
04/01/2011 10:18:47 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/31 config=null
04/01/2011 10:18:47 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2297 ms

Sérgio, como na apostila não fala pra configurar o faces-config.xml (no JSF 2.0 não precisa?), eu retirei e o tomcat subiu normalmente, mas deu outro erro:

[i]HTTP Status 500 -

type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:542)
com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:359)
com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:150)
.
.
.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.

Apache Tomcat/6.0.29[/i]

Oi Marcio

O log está indicando que a versão que está subindo é a 1.2:

INFO: Initializing Sun’s JavaServer Faces implementation (1.2_04-b10-p01) for context ‘/fj26-notasfiscais’

A exception também indica algo com a view de JSP mas não usamos mais JSP com JSF 2 (e sim Facelets).
Será que as versões dos JARs não estão erradas? Acho que vale baixar novamente para garantir que sejam da 2.0

Abraços

Olá,

acredito que os jars que estão na aplicação estejam errado, pois pelo LOG ele está subindo o JSF 1.2:

Baixe a versão 2.0 daqui:
http://java.net/downloads/javaserverfaces/release/2.0.3/mojarra-2.0.3-FCS-binary.zip

Tire todos os jars de jsf que você tem no seu projeto (deve estar aí o conflito). Como o nome da Servlet é a mesma para ambas as versões, se vc estiver com os jars de ambas no seu classpath, ele deve estar pegando o da versao antiga.

Abraços.

Os jars do JSF estão certos, baixei hoje mojarra-2.0.3-FCS.
Acho que está subindo o JSF 1.2 pois o eclipse estava configurado no properties>Project Facets>JavaServer Faces 1.2, tentei mudar para 2.0 mas não aceitou, então, desmarquei o checkbox.
Entrei com o endereço http://localhost:8082/fj26-notasfiscais/index.xhtml, não deu o erro 404 nem 500, mas abriu uma janela pedindo pra eu fazer o download da página index.xhtml.

Deseja salvar ou abrir esse arquivo?
Nome: index.xhtml
Tipo: xhtmlFile, 556 bytes
Origem: localhost
Abrir Salvar Cancelar

E agora?

Deletei o eclipse, tomcat, jars e configurei tudo de novo. Finalmente funcionou e renderizou a página de teste.
Teve uma situação que um método da JPA não era reconhecido na classe EntityManager, deletei o jar e depois acrescentei o mesmo jar e então, o método foi reconhecido. Que coisa irritante, perdi um enorme tempo.

Ainda estou no começo da apostila, espero não ter mais problemas daqui por diante. Obrigado pela ajuda.

Nossa, bem estranho… Ainda bem que funcionou!

Abraços

Posso continuar enviando dúvidas sobre a apostila nesse tópico?

O auto complete das páginas xhtml não está funcionando. Configurei em preferences>General>Content Types e adicionei *.xhtml, mas não completa as tags. Dá a msg No Default Proposals
Vi em alguns tópicos que não funciona no eclipse, outros funcionam, parece que depende da versão do eclipse. Uso o seguinte:
Eclipse Java EE IDE for Web Developers.
Version: Helios Service Release 1

Como corrijo isso? Codificar sem o auto complete, não rola.

Sei que é um tópico antigo mas, tive este mesmo problema recentemente, algumas paginas existentes no diretório davam erro 404, e outras não.
Solução: Não precisa desinstalar o Eclipse todo e reinstalar, basta apagar as pastas old.metadata e .metadata do workspace do projeto e reabrir o Eclipse importando o projeto novamente.