Problema com jsf 1.2 e Tomcat 5.5

7 respostas
A

Pessoal tô com um problemão.

Eu criei uma aplicação web usando: Java EE5, Tomcat 6.0.16 e jsf 1.2!
Testei no meu tomcat 6.0 e funciona perfeitamente.

Só que eu não sabia que o servidor final da minha aplicação seria um tomcat 5.5!

Que que eu faço pra minha aplicação rodar no tomcat 5.5? (descartem a possibilidade de trocar pelo 6.0).

Por favor, alguém me ajude.

7 Respostas

LuizAvila

Êita google bão…

http://www.google.com.br/search?q=tomcat+5.5+jsf+1.2&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a

A

Desculpem minha ignorância (sou novo no jsf), mas como faço para colocar facelets agora? Como sei o qual eu usei (facelets ou jsp/servlet)?

Eu fiz assim: no netbeans 6.1 selecionei ‘novo projeto’, ‘web’, ‘aplicaçãoweb’ , ‘tomcat 6.0.16’ , ‘java EE 5’ , e por último selecionei a caixa ‘java server faces’ e deixei a bliblioteca ‘jsf 1.2’.

Obrigado!

LuizAvila

Google novamente:

adicionar facelets

http://www.google.com.br/search?q=adicionar+facelets&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a

segundo resultado tem um passo a passo:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=6157

direto da fonte:

http://wiki.java.net/bin/view/Projects/FaceletsExamples

introdução com netbeans:

http://www.netbeans.org/kb/55/quickstart-facelets-in-netbeans.html

JavaServer Faces Comunity:

https://javaserverfaces.dev.java.net/

A

LuizAvila muito obrigado mesmo pela atenção.

Eu percebi que as aplicações com Facelets possuem páginas do tipo xhtml, um arquivo css (pelo menos é o que o netbeans cria no inicio) e não possuem o arquivo sun-web.xml.

Bom, a questão é que eu não quero criar uma nova aplicação, eu quero que minha aplicação, já existente, com um arquivo sun-web.xml, sem nenhum css, com todas as paginas sendo jsp (nenhuma xhtml), rode no tomcat 5.5.

Pergunta: tem como fazer isso sem mexer nos códigos? apenas mexendo nos arquivos de configuração e adicionando/removendo blibliotecas?

ou terei mesmo que criar uma nova aplicação? eu não queria fazer isso, ela é enorme.

meu web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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">
    <context-param>
        <param-name>com.sun.faces.verifyObjects</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.faces.validateXml</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
    </context-param>
    <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
    </context-param>
    <filter>
        <display-name>RichFaces Filter</display-name>
        <filter-name>richfaces</filter-name>
        <filter-class>org.ajax4jsf.Filter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>richfaces</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-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>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/formularioDocPG.jsp</welcome-file>
        </welcome-file-list>
    <resource-ref>
        <res-ref-name>jdbc/dbdocpg</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
    <resource-ref>
        <res-ref-name>mail/Email</res-ref-name>
        <res-type>javax.mail.Session</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
L

Não há jeito fácil não. Funciona trocando o JSF 1.2 pelo JSF 1.1, mas aí você deve testar tudo novamente pra ver se não ocorre incompatibilidades.

A

como eu faço para trocar? nas propriedades do projeto o netbeans não permite.

A

ja resolvi:

Criei um novo projeto com j2EE 1.4 e jsf 1.1.
Copiei os codigos do antigo para o novo.
Tirei alguns generics e foreach que havia na aplicação (Adaptações foram necessárias).
Troquei o richfaces 3.2 pelo 3.1 (Adaptações foram necessárias).
Adicionei algumas commons (codec e collections-3.1).

Acho e o pricipal foi isso…

Obrigado pela atenção.

Criado 21 de setembro de 2008
Ultima resposta 22 de set. de 2008
Respostas 7
Participantes 3