Problema com Aplicação JSF com Hibernate

20 respostas
T

fala galera, td na paz?

pessoal, dei uma pesquisada nos assuntos desse forum e nao encontrei algo q solucionasse o meu problema.

e pior q as vezes ate desanima, agnt axa q ta fazendo td certo e depois da um galho.

a minha aplicação ta toda codificada certinha, mas aparece um individuo bem chatinho chamado PÁGINA 404!!

ele nao ta encontrando o projeto, entao.. eu fui no web.xml e tbm no faces-config.xml e nao consegui localizar o erro.

Estou usando o Tomcat 7.0 como servidor e ele ta rodando perfeitamente na porta 8080, como padrão.

Qdu eu vou digitar http://localhost:8080/NomeDoProjeto, aparece o erro.

Eu qria q algum de vocês me ajudassem a solucionar essa pagina 404, que nao qr sair do meu pé!

logo abaixo, segue o web.xml e o faces-config.xml:

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_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>imperiumpecunia</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-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>
  </servlet-mapping>
  <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>
</web-app>

FACES-CONFIG.XML

<?xml version="1.0" encoding="UTF-8"?>

<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_2_0.xsd"
    version="2.0">

<application> 
       <message-bundle> 
       br.com.brasang.imperiumpecunia.recursos.messages 
    </message-bundle> 
 </application>
  
 <managed-bean> 
    <managed-bean-name>cadastroContaBean</managed-bean-name> 
    <managed-bean-class> 
      br.com.brasang.imperiumpecunia.visao.CadastroContaBean 
    </managed-bean-class> 
    <managed-bean-scope>session</managed-bean-scope> 
 </managed-bean> 
 
 <managed-bean> 
    <managed-bean-name>consultaContaBean</managed-bean-name> 
    <managed-bean-class> 
      br.com.brasang.imperiumpecunia.visao.ConsultaContaBean 
    </managed-bean-class> 
    <managed-bean-scope>session</managed-bean-scope> 
 </managed-bean> 
 
 <navigation-rule> 
    <navigation-case> 
      <from-outcome>cadastroConta</from-outcome> 
      <to-view-id>/contas/cadastroConta.jsp</to-view-id> 
    </navigation-case> 
    <navigation-case> 
      <from-outcome>consultaConta</from-outcome> 
      <to-view-id>/contas/consultaConta.jsp</to-view-id> 
    </navigation-case> 
 </navigation-rule>
 
 <navigation-rule> 
    <navigation-case> 
      <from-outcome>menu</from-outcome> 
      <to-view-id>/menu.jsp</to-view-id> 
      <redirect/> 
    </navigation-case> 
 </navigation-rule>
 
<converter> 
    <converter-for-class>java.lang.Enum</converter-for-class> 
    <converter-class> 
    br.com.brasang.imperiumpecunia.conversores.EnumConverter 
    </converter-class> 
</converter>

<converter> 
      <converter-for-class> 
  	  br.com.brasang.imperiumpecunia.dominio.Pessoa 
      </converter-for-class> 
      <converter-class> 
      br.com.brasang.imperiumpecunia.conversores.PessoaConverter 
      </converter-class> 
</converter>
  
</faces-config>

Agradeço pelo apoio de voces.

20 Respostas

R

kd a index.jsp?

T

a index eh essa ai:

<%@ 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"%>
<!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>
		<%
			response.sendRedirect("faces/menu.jsp");
		%>
	</f:view>
</body>
</html>
R

Bom,vou te mostrar como eu faço:

web.xml &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;

index.jsp

&lt;jsp:forward page='/principal.jsf'&gt;
T

o que significa esse principal.jsf ? vc pode me explicar essa linha de codigo da index? pra eu poder ver como vou aplicar no meu projeto.

vc axa q ta errado a parte da index??

T

é pessoal… ta meio brabera aki…nao to conseguindo desvendar esse misterio da pagina 404.

Ela aparece assim:

HTTP Status 404 - /imperiumpecunia

type Status report

message /imperiumpecunia

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

nao vejo o meu erro nem no web.xml ou no faces-config.xml

se alguem tiver uma outra maneira pra me mostrar, ou corrigindo essa como o exemplo meu acima eu agradeço.

S

Amigo, acho que sua declaração do arquivo web.xml está errada. Tenta ai:

http://www.coderanch.com/how-to/java/ServletsWebXml

:smiley:

T

mas o pq q vc ta axando q o web.xml ta errado? possivelmente deve ta… mas nao entendi aonde? eh na declaraçao?

jweibe

Amigo vc ta usando JSF 2 certo? caso sim, o mesmo trabalha com .xhtml a não ser que vc configure o mesmo pra usar .jsp
Adiciona isso ao seu web.xml

&lt;context-param&gt;
    &lt;param-name&gt;javax.faces.DEFAULT_SUFFIX&lt;/param-name&gt;
    &lt;param-value&gt;.jsp&lt;/param-value&gt;
&lt;/context-param&gt;
S

Tente usar somente assim:


Acho que não pode usar a versão 2.5 e 3.0 na mesma declaração.

Att,

T

jweibe:
Amigo vc ta usando JSF 2 certo? caso sim, o mesmo trabalha com .xhtml a não ser que vc configure o mesmo pra usar .jsp
Adiciona isso ao seu web.xml

&lt;context-param&gt; &lt;param-name&gt;javax.faces.DEFAULT_SUFFIX&lt;/param-name&gt; &lt;param-value&gt;.jsp&lt;/param-value&gt; &lt;/context-param&gt;

amigo, eu adicionei esse campo no web.xml, pq realmente eu uso a versao 2 do JSF, mas continua dando erro 404. nao to entendendo isso cara…

fui todo animado axando q ia funcionar e nd…

tem alguma outra soluçao??

jweibe

cara mais ta gerando ao erro no console do eclipse? caso sim, poste o erro completo.

Altera no seu web.xml
de

&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;

para

&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;

Depois tenta acessar ./principal.faces

T

nao…o problema eh q ta gerando no browser! nao eh no console do eclipse.

thiagodelgado

Será que o problema é mesmo no .xml? Já tive problemas assim quando usava Tomcat, quando passei pro GlassFish nunca mais aconteceu nada do tipo, vale a pena tentar,
outra coisa, alem do erro 404 (Página não-encontrada), alguma outra anormalidade? Qual IDE você tá usando?

T

thiagodelgado:
Será que o problema é mesmo no .xml? Já tive problemas assim quando usava Tomcat, quando passei pro GlassFish nunca mais aconteceu nada do tipo, vale a pena tentar,
outra coisa, alem do erro 404 (Página não-encontrada), alguma outra anormalidade? Qual IDE você tá usando?

cara… eu axo q eu descobri o problema…porem ainda nao tentei consertar.

eu to tentando implementar um modelo no meu codigo seguindo JSF 1.2 com richfaces, usando tomcat 6!

Mas o erro persiste porque eu uso o eclipse indigo, seguindo JSF 2, que utiliza annotations, portanto, primefaces, usando tambem tomcat 7.

eu axo q meu erro ta sendo na versao do JSF.

eu to usando JSF 2 com richfaces!

isso eh errado sem uma conversao explicita nao eh??

thiagodelgado

Tem como postar o código aqui pra gente dar uma olhada? pode ser que sim, mas não é certeza. Primefaces ja me deu alguns problemas em relação à implementação, me pareceu um pouco instável,
se tiver como postar o código a gente vê o que dá pra fazer :]

T

thiago, o q eu pensei parece q estava certo. usei richfaces com uma outra versao do eclipse, o ganymede, q possui o JSF 1.2.

o erro 404 desapareceu, porém....

surgiu um outro problema citado logo abaixo:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 15

12: <%
13: 	response.sendRedirect("faces/menu.jsp");
14: %>
15: <f:view>
16: 
17: </f:view>
18: </body>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.RuntimeException: Cannot find FacesContext
	javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1797)
	javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1614)
	org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:98)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:72)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Apache Tomcat/6.0.29

pelo jeito o erro pode ta na pagina index.jsp, mas como estou começando a lidar com JSF ta meio complicado axar onde estou errando.

F

na index.jsp tenta assim :

<%  
  response.sendRedirect("/faces/menu.jsp");  
%>
T

mas qdu eu botei pra rodar, ja tinha incluido essa linha na index. eu to achando que falta incluir jar q nao ta no meu classpath.

mas ja fiz isso e nd.

num sei mais o q fazer.

T

galera, eu crei o projeto do zero novamente, passo a passo e soh me retorna Status 500 como esse:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.RuntimeException: Cannot find FacesContext
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.RuntimeException: Cannot find FacesContext
	javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1797)
	javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1614)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:72)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Apache Tomcat/6.0.29

alguem saberia opinar q erro eh esse com o servidor??

detalhe: rodei usando eclipse helios com JSF 1.2 e tomcat 6!

T

thiago, consegui rodar pelo menos uma tela! mas qdu eu clico em um link da outro erro 500!

vc pode me enviar seu e-mail, se possivel, pra eu poder enviar os arquivos .java pra vc, pra vc ver se tem como me ajudar?

pode ser?

qria q tu me ajudasse…te agradeço desde ja

Criado 15 de julho de 2011
Ultima resposta 18 de jul. de 2011
Respostas 20
Participantes 6