Erro JSF [RESOLVIDO]

7 respostas
E

Olá pessoal,

Estou fazendo um helloWorld em JSF só que está aparecendo o seguinte erro:

type Exception report

message 

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

exception 

javax.servlet.ServletException: Cannot find FacesContext
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:80)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause 

javax.servlet.jsp.JspException: Cannot find FacesContext
	javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:405)
	com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:105)
	org.apache.jsp.index_jsp._jspx_meth_f_view_0(index_jsp.java:95)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:70)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


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

Alguem poderia me ajudar?

Obrigado

7 Respostas

P

http://www.guj.com.br/posts/list/26099.java

L

vc fez as configurações no faces-config.xml e no web.xml ?

se sim, posta um o codigo onde está ocorrendo o erro para dar uma olhada.

[]'s Luis Cesar

U

Aí vai um heloworld funcionando como exemplo:

este exemplo utiliza o MyFaces da Apache que corrige diversos bugs do jsf1.1 da Sun

//web.xml

<?xml version=“1.0” encoding=“UTF-8”?>
<web-app id=“WebApp_ID” version=“2.4” xmlns=“http://java.sun.com/xml/ns/j2ee
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=“http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”>

&lt;display-name&gt;

HelloJSF
</display-name>

&lt;description&gt;

primeira aplicação jsf funcionando; basta copiar os arquivos em um novo projeto…
</description>

&lt;listener&gt;
    &lt;listener-class&gt;
  org.apache.myfaces.webapp.StartupServletContextListener

</listener-class>
</listener>

&lt;servlet&gt;
<servlet-name>Faces Servlet</servlet-name>

<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>
&lt;servlet-mapping&gt;

<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>

&lt;welcome-file-list&gt;

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

</web-app>

//-----------------------------------------------------------------------------------------------------------//

//faces-config.xml

<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE faces-config PUBLIC “-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN”
http://java.sun.com/dtd/web-facesconfig_1_1.dtd”>
<faces-config>

&lt;managed-bean&gt;
<managed-bean-name>BeanExemplo</managed-bean-name>

<managed-bean-class>home.exemplo.BeanExemplo</managed-bean-class>

<managed-bean-scope>session</managed-bean-scope>

</managed-bean>

</faces-config>

//-----------------------------------------------------------------------------------------------------------//

//BeanExemplo.java

//método ‘set’ omitido por não ser utilizado neste exemplo.
package home.exemplo;

public class BeanExemplo {

private final String nome = "Este é um atributo vindo do BeanExemplo";

public String getNome() {
    return nome;
}

}

//-----------------------------------------------------------------------------------------------------------//

//home.jsp

<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>

<html>
<head>
<title>pagina inicial</title>
</head>
<body>
<f:view>
<h:form>
<h6><h:outputText value="#{BeanExemplo.nome}" /></h6>
</h:form>
</f:view>
</body>
</html>

//-----------------------------------------------------------------------------------------------------------//

//index.jsp

<% response.sendRedirect(“home.jsf”); %>

//-----------------------------------------------------------------------------------------------------------//

espero que este exemplo o ajude…
abração!

E

Não deu certo!!!

Quando eu executo http://localhost:8084/JSFExample/ já aparece o erro.

Agora quando eu executo http://localhost:8084/JSFExample/index.jsf aparece outro erro:

type Exception report

message 

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

exception 

javax.servlet.ServletException: Servlet execution threw an exception


root cause 

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:123)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)


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

luiscesarinfo:
vc fez as configurações no faces-config.xml e no web.xml ?

se sim, posta um o codigo onde está ocorrendo o erro para dar uma olhada.

[]'s Luis Cesar

Eu estou esquecendo de alguma coisa.

Como no post anterior que eu coloco http://localhost:8084/JSFExample/ ele aparece o erro.

mas quando eu coloco http://localhost:8084/JSFExample/index.jsf aparece outro erro.

# type Exception report  
#   
# message   
#   
# description The server encountered an internal error () that prevented it from fulfilling this request.  
#   
# exception   
#   
# javax.servlet.ServletException: Servlet execution threw an exception  
#   
#   
# root cause   
#   
# java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config  
#     com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:123)  
#     com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)  
#     com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)  
#     com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)  
#     javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)  
#   
#   
# note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

web.xml

<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>client</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.CONFIG_FILES</param-name>
		<param-value>/WEB-INF/faces-config.xml</param-value>
	</context-param>
	<listener>
		<listener-class>
			com.sun.faces.config.ConfigureListener
		</listener-class>
	</listener>
	<!-- Faces Servlet -->
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<!-- Faces Servlet Mapping -->
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

faces-config.xml

<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
	<navigation-rule>
		<from-view-id>/buscar.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/sucesso_busca.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/falha_busca.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<navigation-rule>
		<from-view-id>/inserir.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/sucesso_insercao.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/falha_insercao.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<managed-bean>
		<managed-bean-name>agenda</managed-bean-name>
		<managed-bean-class>AgendaDB</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>
P

Não deu certo!!!

Quando eu executo http://localhost:8084/JSFExample/ já aparece o erro.

Agora quando eu executo http://localhost:8084/JSFExample/index.jsf aparece outro erro:

type Exception report

message 

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

exception 

javax.servlet.ServletException: Servlet execution threw an exception


root cause 

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:123)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)


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

“java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config”

Verifique se lib do jstl esta incluida no seu classpath !

E

Não deu certo!!!

Quando eu executo http://localhost:8084/JSFExample/ já aparece o erro.

Agora quando eu executo http://localhost:8084/JSFExample/index.jsf aparece outro erro:

type Exception report

message 

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

exception 

javax.servlet.ServletException: Servlet execution threw an exception


root cause 

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:123)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)


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

“java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config”

Verifique se lib do jstl esta incluida no seu classpath !

Funcionou!!! Tava faltando o jstl!!!

Funciona se eu colocar http://localhost:8080/jsf-example/index.jsf

Agora se eu colocar http://localhost:8080/jsf-example/ dá erro!!!

Obrigado a todos pela colaboração!!!

Abraços

Criado 18 de janeiro de 2008
Ultima resposta 18 de jan. de 2008
Respostas 7
Participantes 4