Jsf + JBoss + eclipse

Galera, instalei o Jboss Tools 3.1 e o Jboss server 5.1 no eclipse galileo,
quando estarto o jboss vou no browser e digito:
localhost:8080 ele abre a pagina do jbols normal,
mais quando mando rodar a aplicação da este erro:
HTTP Status 404 - /Agenda/WEB-INF/novocontato.jsf

XHTML - novocontato:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">

	<ui:composition>
		
	<h:form>
	
		<h:panelGrid columns="2">
		
		<h:outputText value="Nome: " />
		<h:inputText value="#{contatoBean.contato.nome}"/>
		
		<h:outputText value="Telefone: " />
		<h:inputText value="#{contatoBean.contato.telefone}"/>
		
		<h:outputText value="Data de Nascimento: "/>
		
		<h:inputText value="#{contatoBean.contato.dataNascimento}">
		<f:convertDateTime pattern="dd/MM/yyyy"/>
		</h:inputText>
		
		</h:panelGrid>
		<h:commandButton value="Salvar" action="#{contatoBean.gravar}"/>
		
	</h:form>
	
	</ui:composition>

</html>

Classe Bean:

package beans;

import modelo.Contato;

public class ContatoBean {
	
	Contato contato = new Contato();
	
	public ContatoBean(){
		System.out.println("Criando Bean");
	}
	
	public void gravar(){
		System.out.println("Gravando Contato " + contato.getNome());
		System.out.println("Gravando Contato " + contato.getTelefone());
		System.out.println("Gravando Contato " + contato.getDataNascimento());
		
	}
	public void alterar(){
		
	}
	public void remover(){
		
	}
	public Contato getContato() {
		return contato;
	}
	public void setContato(Contato contato) {
		this.contato = contato;
	}
	
}

Classe contato

package modelo;

import java.util.Date;

public class Contato {
	
	String nome;
	String telefone;
	Date dataNascimento;
	
	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 Date getDataNascimento() {
		return dataNascimento;
	}
	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}
}

Olá,

você não pode acessar a pasta WEB-INF. Este é um diretório lógico para a sua aplicação, e não físico. Sendo assim, do ponto de vista da aplicação, esta pasta não é enxergada.

E outra, suas páginas devem ser colocadas abaixo de WebContent, e sendo dessa maneira, para você acessar a sua página o caminho seria:

Abs!

Hum, não resolveu coloquei desta forma e nada
http://localhost:8080/Agenda/novocontato.jsf
e tambem não entendi?
“suas páginas devem ser colocadas abaixo de WebContent”

Olá,

se você não entendeu sobre o WebContent, provavelmente sua aplicação continuará não funcionando.

Pois bem, você disse que está trabalhando com a IDE Eclipse, correto!? Por estar trabalhando com JSF, acredito que se trata de uma aplicação Web. Dessa forma, quando você cria um projeto do tipo Dynamic Web Project uma estrutura de diretórios é criado, e um deles é o WebContent.

Será dentro deste diretório que as suas páginas deverão ser colocadas, porém, fora do diretório WEB-INF, que por sinal, também está dentro do diretório WebContent.

Algo parecido com isso:

galera segue toda a forma do projeto e continua dando

HTTP Status 404 - http://localhost:8080/Agenda/novocontato.jsf


Cara,

posta o seu web.xml e o seu faces-config.xml (sem ser na forma gráfica).

Acredito que esteja faltando mapeamento do servlet do JSF no seu arquivo de configuração.

Obs: seu projeto se chama Agenda ou AgendaJSF? Tente acessar através de /AgendaJSF/novocontato.jsf

Abs!

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" version="2.5">
  <description>Facelets StarterKit</description>
  <display-name>AgendaJSF</display-name>
  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
  </context-param>
  <context-param>
    <param-name>facelets.REFRESH_PERIOD</param-name>
    <param-value>2</param-value>
  </context-param>
  <context-param>
    <param-name>facelets.DEVELOPMENT</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
  </context-param>
  <context-param>
    <param-name>com.sun.faces.validateXml</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <param-name>com.sun.faces.verifyObjects</param-name>
    <param-value>true</param-value>
  </context-param>
  <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>*.jsf</url-pattern>
  </servlet-mapping>
  <login-config>
    <auth-method>BASIC</auth-method>
  </login-config>
</web-app>

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xi="http://www.w3.org/2001/XInclude"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
 <managed-bean>
  <managed-bean-name>contatoBean</managed-bean-name>
  <managed-bean-class>beans.ContatoBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>
 <application>
  <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
 </application>
</faces-config>

Olá,

acho que você não viu a observação do post anterior.

Reveja-o e refaça o teste.

Abs!

Ops e o projeto chama AgendaJSF, é que fiz tudo de novo,
cara se puder me ajudar , to quebrando a cabeça um tempão com este jsf,
gostei.

Aparentemente os arquivos estão corretos. Se todos os jars estiverem corretos e no lugar certo, deveria funcionar.

Reinicie o seu servidor. E acesse a aplicação através da URL /AgendaJSF/…

Abs!

Cara me desculpe se eu tiver errado, mais pelo que eu estudei, o container (Jboss, TomCat etc…) ler suas paginas Jsf com o formato JSP e transforma em HTML. Apartir do momento em que vc executa sua aplicação o browser interpretada tudo que está na sua Pagina
como HTML ou JavaScript. Então vc está pulando esse processo no momento em que vc cria suas paginas JSF no formato XHTML. Tente criar suas paginas com o formato JSP ( o JSF especifica o JSP). Ver se resolve o problema :smiley: Flws.

Galera virei a madrugada, e acredito que seja algum conflito, na ide
mudei para eclipse Helios, Jboss 5.1, Tomcat 7, e Jboss Tools 3.2 configurei tudo de novo e funcionou blz, agradeço o pessoal
que postaram respostas, acho este fourum muito bom e as pessoas que usam ele tambem valew que Deus Abençoe todos, vamos
pra frente outros desafios viram este é só o começo.