JSF - HTTP Status 404

Olá, eu estou tentando a horas rodar algum exemplo em jsf. Segue meu código.

Criei um pacote de nome trabalho.topicos2 no src:
Segue minha classe Agenda.

[code]package trabalho.topicos2;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Agenda {
Map<Integer,Contato> listContatos;
Contato contato;
private int count = 0;

public Agenda(){
	listContatos = new HashMap<Integer,Contato>();
	contato = new Contato();

	Contato contato1 = new Contato();
	contato1.setNome("Gustavo Sobral Carneiro");
	contato1.setEmail("j.j.gustavo@hotmail.com");
	contato1.setCelular("022-99788066");
	contato1.setTelefone("028-35571180");
	contato1.setId(contato1.getId());
	
	listContatos.put(contato1.getId(),contato1);
	
}

public String salvar(){
	try {

		if((!contato.getId().equals("")) 
				&& (!listContatos.containsKey(contato.getId()))){
			listContatos.put(contato.getId(),contato);
			contato = new Contato();
			return "sucesso";
		}else if(listContatos.containsKey(contato.getId())){		
			contato = new Contato();
			return "sucesso";
		}
	} catch (Exception e) {
		e.printStackTrace();
	}

	return "fail";
}

public String excluir(){
	if(contato!=null){
		listContatos.remove(contato.getId());
		contato = new Contato();
		return "sucesso";
	}

	return "fail";
}

public String novo() {
	contato = new Contato();
	contato.setId(Integer.valueOf(gerarId()));
	return "novo";
}

public List<Contato> getlistContatos() {
	return new ArrayList<Contato>(listContatos.values());
}

public Contato getcontato() {
	return contato;
}

public void setcontato(Contato contato) {
	this.contato = contato;
}

public int gerarId(){
	return count++;
}

}[/code]

Segue minha classe Contato:

[code]package trabalho.topicos2;

public class Contato {

private String nome,telefone,celular, email;
private Integer id;

public Contato() {
}

public Contato(String nome, String telefone, String celular, String email, Integer id) {		
	this.nome = nome;
	this.telefone = telefone;
	this.celular = celular;
	this.email = email;
	this.id = id;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getTelefone() {
	return telefone;
}

public void setTelefone(String telefone) {
	this.telefone = telefone;
}

public String getCelular() {
	return celular;
}

public void setCelular(String celular) {
	this.celular = celular;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

public Integer getId() {
	return id;
}

public void setId(Integer id) {
	this.id = id;
}	

}[/code]

dentro do WEBContent criei uma pasta chamada Agenda e dentro desta pasta criei uma jsp chamada listarContatos.jsp

[code]<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>

Tela de Cadastro
		<h:column>
			<f:facet name="header">
				<h:outputText value="Nome" />
			</f:facet>
				<h:outputText value="#{contato.nome}" />			
		</h:column>
		<h:column>
			<f:facet name="header">
				<h:outputText value="Telefone" />
			</f:facet>
			<h:outputText value="#{contato.telefone}" />
		</h:column>
		<h:column>
			<f:facet name="header">
				<h:outputText value="Celular" />
			</f:facet>
			<h:outputText value="#{contato.celular}" />
		</h:column>
		<h:column>
			<f:facet name="header">
				<h:outputText value="E-mail" />
			</f:facet>
			<h:outputText value="#{contato.email}" />
		</h:column>

		<h:column>
			<f:facet name="header">
				<h:outputText value="Remover" />
			</f:facet>
			<h:commandLink action="#{agenda.excluir}"				
				style="text-decoration:none;">
				<h:outputText value="X" />
				<f:setPropertyActionListener value="#{contato}"
					target="#{agenda.contato}" />
			</h:commandLink>
		</h:column>
	</h:dataTable>
</h:form>

</f:view>

[/code]

meu faces-config.xml :

[code]

<?xml version="1.0" encoding="UTF-8"?> contato trabalho.topicos2.Contato session agenda trabalho.topicos2.Agenda session

[/code]

meu web.xml:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>AgendaContatos</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> <welcome-file>/Agenda/listarContatos.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> <url-pattern>/*.jsf/</url-pattern> </servlet-mapping> </web-app>

e as libs que eu add:

commons-beanutils
commons-collections
commons-digester-1.8
commons-logging
jsf-api
jsf-impl
jsf-tlds
jsp-api
jstl
standard

coloquei as mesmas jars no tomcat, só não subtitui o jsp-api.
estou usando o Eclipse.
Se alguém puder evitar que eu quebre meu notebook me ajudando nisso eu agradeceria, eu tenho um exemplo rodando aqui e já olhei cada canto comparando e não sei pq esse erro ocorre.

HTTP Status 404 -

type Status report

message

description The requested resource () is not available.
Apache Tomcat/6.0.32

Estou digitendo no browser:
http://localhost:8080/AgendaContatos/Agenda/listarContatos.jsf

:@

tente tirar esse monte de welcome-file e deixar só um assim :

 <welcome-file>/faces/listarContatos.jsf</welcome-file>  

caso não der tente colocar esse endereço no naverdador : http://localhost:8080/AgendaContatos/faces/listarContatos.jsf

Amigo se voce digitar o caminho no browser funciona né?

Seguinte pagina jsf não pode ser colocada no welcome-file

Só pode ser html,jsp.

Solução crie uma pagina em jsp ou em html e nela mande redirecionar para sua pagina jsf

Acho que tanto faz, depois eu digito no browser e não funciona do mesmo jeito, e no meu outro projeto funciona quando eu digito no browser.

confira sua configuração no webl.xml

Você colocou :

<servlet-mapping>  
    <servlet-name>Faces Servlet</servlet-name>  
    <url-pattern>/faces/*</url-pattern>   // tem que usar esse /faces/ na url tb ....
    <url-pattern>/*.jsf/</url-pattern>  
  </servlet-mapping>