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”%>
<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
:@