[RESOLVIDO] Página inicial não abre. JSF 1.2

15 respostas
M

Estou relembrando JSF e peguei um exemplo da internet só pra estudar… Porém a página inicial não abre.
Já olhei o web.xml, o faces-config.xml e não encontro o problema…

Meu web.xml está assim:

<?xml version="1.0"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  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-app_2_5.xsd"
  version="2.5">

  <display-name>Login JSF</display-name>
  <description>Aplicacao de login usando JSF</description>
  <context-param>
  	<description>
  	State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
  	<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  	<param-value>client</param-value>
  </context-param>
  <context-param>
  	<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
  	<param-value>resources.application</param-value>
  </context-param>
  <listener>
  	<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>

  <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>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

</web-app>

Meu faces-config…

<?xml version="1.0"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
  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"
  version="1.2">

  <managed-bean>
    <managed-bean-name>usuarioBean</managed-bean-name>
    <managed-bean-class>estudos.UsuarioBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>

  <navigation-rule>
    <from-view-id>/Login.jsp</from-view-id>
    <navigation-case>
      <from-outcome>sucesso</from-outcome>
      <to-view-id>/Sucesso.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
      <from-outcome>erro</from-outcome>
      <to-view-id>/Erro.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>
</faces-config>

Adicionei um print da minha tela…

Estou usando o eclipse indigo sr2, jboss 2.0 GA, JSF 1.2 (Mojarra JSF API Implementation 1.2_15-b01-FCS), jdk1.7 x64.

15 Respostas

R

Então, que erro esta ocorrendo erro 404? Tem que lembrar que embora
a página seja JSP.

Por padrão a Servlet JSF reconhecem a extensão .faces.

Então nesse caso uma página JSP teste HelloWord.jsp

Deve ser chamado na URL como HelloWord.faces para que o Faces Servlet funcione. (Isso serve para o helloWord, mas como
vc já tem seus managed beans na sua aplicação , não deve ser esse o problema.

[color=red]Olhando seu mapeamento do faces a linha do servlet-class esta diferente ,no meu seria
javax.faces.webapp.FacesServlet, ah se quiser pega meu msn vamos trocando figurinhas blz falo abraço.(Também preciso estudar JSF[/color]

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    <!--param-value>server</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>*.faces</url-pattern>
  </servlet-mapping>


  <filter>
M

O erro que acontece é esse:

HTTP Status 404 - /Login/

--------------------------------------------------------------------------------

type Status report

message /Login/

description The requested resource (/Login/) is not available.
E

cara, você criou a index.html?
seu welcome esta apontando para ela.

M

Sim. Esse arquivo está dentro do diretório WebContent.

E

falo ele não encontra ela, ou alguma pagina que esta sendo redirecionada. verifique extenção e maiusculas/minusculas.

M

No meu web.xml eu digo que minha página inicial deve ser a index.html

&lt;servlet&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
  &lt;/servlet&gt;

  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.faces&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;

  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;

e na minha página index.html rediciona para a página Login.jsp

&lt;head&gt;
&lt;meta http-equiv="Refresh" content= "0; URL=Login.faces"/&gt;
&lt;title&gt;Login JSF&lt;/title&gt;
M

Qual seria a causa desse “recurso não disponível”? Tem alguma configuração especial para usar o JBoss?

The requested resource (/Login/) is not available.

L

Tenta /Login.faces

M

Sabe o que aconteceu??

Nada. Rsrsrsr

Pensei que talvez pudesse ser o JBoss, mas a página inicial abre normalmente… Vou tentar instalar o Tomcat 7 pra ver se há alguma diferença…

R
Cara eu fiz aqui e funciono. Página Login
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
		<h:outputText>teste</h:outputText>
	</f:view>
</body>
</html>
Página Welcome:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 
Transitional//EN">
<html>
<head>
<title>Centrar uma  página com CSS</title>
<meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1">
<meta http-equiv="Refresh" content= "0; url=Login.faces"/> 
<style type="text/css">
body {
	margin:0;
	padding:0;
	background:#ccc;
	text-align:center; /* hack para o IE */	
	}
#tudo {
	width: 760px;
	margin:0 auto;			
	text-align:left; /* "remédio" para o hack do IE */	
	}
#conteudo {
	padding: 5px;
	background-color: #eee;
	}
	
.footer {
	position:absolute;
	width: 760px;
	left:50%;
	margin-left:-380px;
    bottom:0px;
	height:40px;
	background-color:#000000;
}

</style>
</head>
<body>
<div id="tudo">
	<div id="conteudo">
		<h1>Central de  conatos</h1>
		<p>Esta página  foi criada  para gerenciar os contatos</p>
	</div>
	<div style="text-align:center;width:100%;height:25px;background-color:#cc1400;padding-top:5px;">
	<a href="#">Adicionar&emsp;||     </a>
	<a href="#">Remover&emsp;||     </a>
	<a href="#">Alterar&emsp;||     </a>
	<a href="#">Listar&emsp;||     </a>

</div>
</div>
<div class="footer">sss</div>
</body>
</html>
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>agenda</display-name>
  <welcome-file-list>
    <welcome-file>welcome.jsp</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-list>
  
   <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    <!--param-value>server</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>*.faces</url-pattern>
  </servlet-mapping>
  <filter>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    <init-param>
      <description>Set the size limit for uploaded files.</description>
      <param-name>maxFileSize</param-name>
      <param-value>20m</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
  </filter-mapping>
 <filter-mapping>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>
  <servlet>
    <servlet-name>resources</servlet-name>
    <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
  </servlet-mapping>
 <filter>
    <filter-name>trinidad</filter-name>
    <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>trinidad</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
  </filter-mapping>
  
</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">
</faces-config>
M

Mesmo com o seu exemplo não funcionou aqui…
Acho que pode ser alguma coisa com os meus .jar.

Eu baixei essas bibliotecas pelo próprio eclipse…

M

Pessoal resolvi o problema… Mudei para o Netbeans 7.1.2.
Funcionou que é uma blz!

Adicionei o JBoss-4.2.1.GA ao Netbeans e funcionou, testei com o Glassfish que vem com o Netbeans e funcionou também, testei com o Tomcat6 também!

Resumindo, acho que o problema pode estar nos .jar usados no eclipse.
Em anexo tá o projetinho…

E quero agradecer a todos que postaram sua contribuição neste tópico. Obrigado!

E

Não confie nos downloads do eclipse… Utilizo esta ide por livre e espontânea pressão.

L

Eu acho uma excelente ide, tanto que existem vários outros projetos que usam o eclipse como plataforma.

M

Eu prefiro o netbeans! O eclipse é até bom principalmente o editor que eu realmente acho melhor, mas o que me incomoda são esses plugins, .jar’s e mais um monte de configuração que precisa ser feita para usar tal coisa, argh!! Isso me irrita :lol:
Mas já ouvi falar que em muitas empresas preferem o eclipse, um amigo meu que trabalha com ele diz que você tem um controle maior do código :hunf:

Criado 22 de maio de 2012
Ultima resposta 24 de mai. de 2012
Respostas 15
Participantes 4