JSF 2 + PrimeFaces

20 respostas
G

Boa tarde a todos, estou estudando JSF 2 com PrimeFaces só que estou tendo um erro infantil aqui e não estou conseguindo detectar. O problema ocorre quando eu tento levantar o meu servidor tomcat, que gera o seguinte erro no console:

SEVERE: Error loading WebappClassLoader
context: /SPA
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1e63e3d
javax.faces.webapp.FacesServlet
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

Acredito que é um problema de lib mas eu não sei qual lib pode ser ou o que pode ser relacionado as libs. No meu projeto eu coloquei as libs seguintes no meu projeto:

commons-beanutils-1.8.3.jar
commons-codec-1.3.jar
commons-collections-3.2.jar
commons-digester-1.8.jar
commons-logging-1.1.1.jar
jsf-api.jar (versão 2.0.4)
jsf-impl.jar (versão 2.0.4)
le-frog-1.0.0.jar (skin do primefaces)
myfaces-api-2.0.4.jar
myfaces-bundle-2.0.4.jar
myfaces-impl-2.0.4.jar
mysql-connector-java-5.1.12-bin.jar
primefaces-2.2.1.jar
primefaces-2.2.jar
servlet.jar

O meu web.xml é o seguinte:

<?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>SPA</display-name>
	
	<welcome-file-list>
		<welcome-file>principal.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>
		<param-name>primefaces.THEME</param-name>
		<param-value>le-frog</param-value>
	</context-param>

</web-app>

Alguem pode me ajudar?

20 Respostas

P

vc ta usando o eclipse ou o netbeans???

se não me engano essa classe fica no jar jsf-impl ou no jsf-api, tive problemas inicialmente com o eclipse para colocar as libs mas tente retirar e inserir novamente

G

Estou usando o eclipse helios, e tbm achei que esta classe esta nas libs do jsf, por isso o meu espanto, já tentei tbm baixar as libs novamente, tirar e colocar na pasta lib do projeto mas n funcionou não!
;/

J

Membros,

conseguiram resolver esse problema ? Estou com o mesmo.

:frowning:

B

Galera sou iniciante no PrimeFaces e não sei o que esta acontecendo,
Adicionei o .jar do primefaces e consigo usa-lo perfeitamente o no XHTML,
Configurei o meu web.xml para poder usa-lo no jsp, mais o IDE marca com uma linha vermelha em baixo da taglib.(<%@taglib uri=“http://primefaces.prime.com.tr/ui” prefix=“p”%>)
Quando passo o mouse em cima mostra a seguinte mensagem
(The absolute uri: http://primefaces.prime.com.tr/ui cannot be resolved in either web.xml or the jar files deployed with this application)
Por eu conseguir usar o Primefaces no xhtml acredito que o problema não esta no .jar
Uso NetBeans e o primefaces2.2.1

Segue o codigo do meu web.xml

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

<servlet>  
    <servlet-name>Resource Servlet</servlet-name>  
    <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>  
    <load-on-startup>2</load-on-startup>  
</servlet>  
<servlet-mapping>  
    <servlet-name>Resource Servlet</servlet-name>  
    <url-pattern>/primefaces_resource/*</url-pattern>  
</servlet-mapping>


<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>    
<servlet>
    <servlet-name>EnviarRelatorio</servlet-name>
    <servlet-class>EnviarRelatorio</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>EnviarRelatorio</servlet-name>
    <url-pattern>/EnviarRelatorio</url-pattern>
</servlet-mapping>

<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>*.jsp</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

[/b]

Grato desde já.
Bolivar Amancio Neto

M

acontece que esta faltando as bibliotecas do jsf. elas devem estar dentro do diretorio WEB-INF/lib. basta elas estarem lah, NÃO precisa ir na propriedades e adicionar no classpth

J

Consegui resolver colocando na pasta lib as lib’s do JSF 2.0 para poder usar o PrimeFaces 2.2.1.

:slight_smile:

M

legal que vc resolveu.

por favor, coloque [RESOLVIDO] no titulo do topico.

J

mauricioadl:
legal que vc resolveu.

por favor, coloque [RESOLVIDO] no titulo do topico.

Bom… achei que só poderia “fechar” quem “abriu” o tópico… Foi mau…

O

QUE LIBS ESpecificamente vc colocou?

M

carra baixa o primefaces 3.0 num precisa fazer nada só jogar ela dentro da pasta lib e declarar no seu xhtml…

O

pode ser um jsp com tag libs correto?

O

Fiz tudo o que vc recomendou mas…

21/12/2011 15:26:22 org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet jsp threw exception

org.apache.jasper.JasperException: The absolute uri: <a href="http://primefaces.org/ui">http://primefaces.org/ui</a> cannot be resolved in either web.xml or the jar files deployed with this application

at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)

at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)

at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)

at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)

at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:148)

at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:386)

at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:449)

at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1396)

at org.apache.jasper.compiler.Parser.parse(Parser.java:130)

at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)

at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)

at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)

at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

at java.lang.Thread.run(Unknown Source)

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<welcome-file-list>
    <welcome-file>faces/index.jsp</welcome-file>
</welcome-file-list>

index.jsp

<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@taglib prefix=“p” uri=“http://primefaces.org/ui”%>

aaaaaaaaaaaaaaaaa
M

carra usa pagina em xhtml

O

fiz em duas tentativas…

a)mudei o wellcomefilelist do web.xml para index.xhtml (Página acima)
b)voltei o wellcomefilelist do web.xml para index.jsp mas com um <jsp:foward page = “index.xhtml”/>

em ambas as tentativas o navegador pede pra fazer download do index.xhtml

esqueci alguma coisa?

M

testa assim cria uma pagina em xhtml

depois cola esse codigo e testa

<!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:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
	<title>Relatório De Caixa</title>
</h:head>
<h:body>
	
	
	<h1><h:outputLabel value="Teste"></h:outputLabel></h1>
	
	
	
</h:body>
</html>
O

meu amigo, obrigado por seus préstimos, consegui resolver com uma mudança de url patterns assim:

andii.brunetta
JavaGuru

Membro desde: 09/10/2010 10:19:25
Mensagens: 224
Localização: MT
Offline
Tente trocar o:
view plaincopy to clipboardprint?
/faces/*

por:
view plaincopy to clipboardprint?
*.jsf

E no navegador chame por: http://localhost:8080/SeuProjeto/suapagina.jsf

M

c é do mato grosso?

O

qm é do mato grosso é andii.brunetta q deu a solução pro problema

me passa o seu gtalk ou msn desculpe pela intimidade intrusiva.

M

[email removido]

R

Manim, na moral mesmo, concordo com o parceiro aí cima, trabalhe com:

JSF 2.0 + JPA 2.0 + PRIMEFACES 3

vá no site do Primefaces e baixe a biblioteca ( primefaces-3.0.RC2.jar ) e add na sua pasta lib. E vá na sua .xhtml e adicione ( xmlns:p="http://primefaces.org/ui )

para utilizar o JSF 2.0 baixe as libs (caso vc já tenha só add) e add ao seu projeto:

jsf-api
jsf-impl
jstl-api-1.2
jstl-impl-1.2

Aí pra persistência depende de qual implementação vai usar, Hibernate, TopLink, EclipseLink, mas enfim, trabalhe com este padrão… vai te facilitar e muito a vida… use .xhtml e pare de sofrer com as JSP…

qualquer pergunta a mais, tamo aí.

Criado 25 de fevereiro de 2011
Ultima resposta 23 de dez. de 2011
Respostas 20
Participantes 8