JSF 1.2 e tomcat

17 respostas
R

Srs,

Baixei o TOMCAT 6 e to tentanto fazer funcionar com o JSF 1.2 porem sem sucesso.
Ja pesquisei no google mas não consegui resolver o problema.
Alguem poderia em dar uma luz.

Instaleei o TOMCAT 6
Criei uma aplicação JSF e coloquei os sequintes JARS no lib da aplicação

commons-beanutil.jar
commons-digester-1.7.jar
el-api.jar
el-ri.jar
jsf-api-1.2_04-p02.jar
jsf-api.jar
jsf-impl.jar
jstl.jar
myfaces-all.jar
standard.jar

O TOMACT não isntalei nada de novo, esta com as libs e configurações originais.

Meu WEB.XML da aplicação e o seguinte :

<?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”>
<display-name>
serverface</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

&lt;context-param&gt;
    &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
    &lt;param-value&gt;client&lt;/param-value&gt;
&lt;/context-param&gt;

&lt;context-param&gt; 
    &lt;param-name&gt;javax.faces.CONFIG_FILES&lt;/param-name&gt;
    &lt;param-value&gt;/WEB-INF/faces-config.xml&lt;/param-value&gt;
&lt;/context-param&gt;	

&lt;context-param&gt;
	&lt;param-name&gt;com.sun.faces.expressionFactory&lt;/param-name&gt;
	&lt;param-value&gt;org.apache.el.ExpressionFactoryImpl&lt;/param-value&gt;
&lt;/context-param&gt;

&lt;listener&gt;
	&lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;
&lt;/listener&gt;

&lt;listener&gt;
	&lt;listener-class&gt;
		com.sun.faces.application.WebappLifecycleListener
	&lt;/listener-class&gt;
&lt;/listener&gt;

&lt;!-- Faces Servlet --&gt;
&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;!-- Faces Servlet Mapping --&gt;
&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;

</web-app>

Sera que falta algum passo ?
pois sempre que tento fazer o deply no tomcat aparece o erro

SEVERE: error listenerStart
Context [/serverface] startup failed due to previuous errors

17 Respostas

J

colega o tomcat 6 veio com algumas incompatibilidades com algumas bibliotecas do JSF, myfaces etc… tenta rodar no tomcat 5, pq eu tive problema e não rodou na 6 e foi normal na 5…

J

O JSF 1.2 utiliza JEE 5.
O Tomcat 6, implementa o JEE 5, enquanto o Tomcat 5.x implementa o JEE 1.4. Assim sendo, se você quer utilizar o JSF 1.2, você precisa sim usar o Tomcat 6 ou invés do 5.5 (exceto se você for usar o Facelets, ai você pode usar no tomcat 5.5)

Sobre seu problema, no startup do Tomcat não mostra nenhuma exception? Se sim, posta para nós que fica mais fácil para ajudar.

D

Cara, o Tomcat 6 funciona com JSF 1.2, mas tem que fazer algumas pequenas mudanças. Eu uso o Eclipse e fiz o seguinte:

  1. Altere o $TOMCAT_HOME/conf/server.xml e removi(comentei) a seguinte linha:
    view plaincopy to clipboardprint?

Não Fiz e funcionou no Eclipse -> 2)
2) Adicionei as seguintes linhas ao $TOMCAT_HOME/conf/web.xml
view plaincopy to clipboardprint?

  1. <param-name>com.sun.faces.expressionFactory</param-name>
    
  2. <param-value>org.apache.el.ExpressionFactoryImpl</param-value>
    

com.sun.faces.expressionFactory org.apache.el.ExpressionFactoryImpl

  1. Adicionei as seguintes libs ao $TOMCAT_HOME/lib
    jsf-api.jar
    jsf-impl.jar
    jstl-1.2.jar

  2. Adicionei as seguintes linhas ao $MYWEBAPP/WEB-INF/web.xml
    view plaincopy to clipboardprint?

    1. <listener-class>
      
    2. com.sun.faces.config.ConfigureListener
      
    3. </listener-class>
      
    4. <listener-class>
      
    5. com.sun.faces.application.WebappLifecycleListener
      
    6. </listener-class>
      

com.sun.faces.config.ConfigureListener com.sun.faces.application.WebappLifecycleListener

  1. Recompilando tudo colocando no classpath a el-api , jsp-api e servlet-api que vem no lib do tomcat.(usando Eclipse)
L

Eu segui religiosamente a solução proposta e não funciona.

Quando eu adiciono o bloco abaixo no arquivo faces-config.xml acontece o seguinte erro:

<application>
	<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>

at com.sun.faces.config.ConfigureListener$InitFacesContext.getViewRoot(ConfigureListener.java:1690)
at com.sun.faces.util.MessageFactory.getMessage(MessageFactory.java:113)
at com.sun.faces.util.MessageUtils.getExceptionMessageString(MessageUtils.java:277)
at com.sun.faces.util.Util.createInstance(Util.java:477)
at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:671)
at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:503)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:402)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Por favor, alguém tem alguma dica para funcionar o Tomcat 6 + Facelets?

Obrigado

T

cara to com o mesmo problema!

V

Só para constar, também estou com o mesmo problema. Se alguém conseguir resolver, por favor poste aqui!

W

O problema está neste listener:

&lt;listener&gt; &lt;listener-class&gt; com.sun.faces.config.ConfigureListener &lt;/listener-class&gt; &lt;/listener&gt; Ele não deve ser usado.
Você pode baixar um bom exemplo de Richfaces com Tomcat 6+ Facelets em http://mkblog.exadel.com/wp-content/uploads/2008/07/richfaces-tomcat6.zip

V

Mas como estou utilizando Facelets também eu não tenho necessariamente de usar aquele Listener?

V

O código fornecido não funcionou também e ele pede para usar o Listener nos erros.

W

Ao contrário, o erro java.lang.ClassNotFoundException ocorre quando determinada classe non Ecxiste!!!
Se vc por em um servidor Glassfish talvez rode … pq lá contém este listener.

[]'s

W

Então cara… eu rodei o exemplo que te passei e funcionou perfeitamente.

Vc disse num outro tópico que no Eclise não compila. Mas não precisa compilar não. O exemplo que te passei não tem Manage Beans.

Cole a pasta WebContent no webapps do tomcat6 que vai rodar.

V

Então! Comigo não funcionou não! Dá aquele problema que falei! Simplesmente lança uma janelinha com os dizeres e não funciona! Na verdade parou de funcionar tudo! Eu já tirei e coloquei tanto JAR na lib do meu projeto que eu nem sei mais o que era para estar lá e o que não era, o que já estava, o que é novo! Uma bagunça! E eu também cheguei a mexer na pasta lib do tomcat 6. Logo, pode ser que haja algum problema lá! Estou achando é que vou instalar esta bodega de novo e na boa, para mim esse RichFaces e JSF 1.2 tá parecendo tudo uma bela mentira, porque num dá certo de jeito nenhum aqui comigo depois de várias tentativas e parece que num tem nenhum tutorial que preste, que fale sobre erros comuns, que fale exatamente o que colocar e o que não colocar em faces-config.xml, web.xml, na pasta lib. Enfim, eu estou realmente decepcionado com estas tecnologias. Já estou há três dias tentando fazer algo funcionar e nada! Chega a ser ridículo!

Por último, tudo isso é muito revoltante e frustrante!

W

Que pena velho… eu acho JSF tão bom. Especialmente por causa do jQuery imbutido. Facilita desenvolver com AJAX.

A aplicação exemplo que eu passei vai apenas mostrar um página inicial com um painel feito com JSF.

Depois que vc reinstalar o tomcat tente rodá-la de novo.
Ponha a pasta WebContent do Projeto dentro de webapps do tomcat.
E acesse via http://localhost:8080/WebContent/

Tente outra vez. Valhe a pena cara.

V

Hehehehe! Foi apenas um desabafo! Eu não me deixo vencer tão fácil assim não! Fui em quem fez o estudo de viabilidade do JSF aqui para a empresa e sei que ele é fantástico! Logo, eu preciso mesmo é de ter um pouco mais de fluência no negócio! Mas isso é com o tempo mesmo! Na verdade, se for pensar, faz apenas uns 3 meses que estou trabalhando com JSF de verdade! Logo, acho que ainda estou dentro do prazo de aprendizado razoável! hehehehe!
Eu vou reinstalar o Tomcat e tentar fazer o que você sugeriu! Obrigado pela atenção e assim que eu conseguir fazer isso eu volto aqui novamente! Novamente, obrigado!

V

Fala galera!

Finalmente o negócio funcionou! Eu instalei o Tomcat 6 novamente e utilizei as libs do projeto que foi sugerido pelo colega! E deu certo! Agora estou com uma dorzinha de cabeça aqui do Modal Panel que tá aparecendo antes de ser chamado, mas tirando isso a parada pelo menos está funcionando!

Obrigado pela ajuda aí!

Até logo!

G

a cada minuto eu fico mais irritado com jsf… pqp.

R

com o Jboss não dar esse erro!

Criado 27 de outubro de 2007
Ultima resposta 2 de jun. de 2011
Respostas 17
Participantes 10