Migração de Projeto JSP PARA JSF + Facelets

Pessoal, temos um projeto já bastante grande em JSP, mas estamos querendo ir migrando partes dele pra JSF + Facelets, nossas páginas JSP, possui muito código java na própria JSP. Qual a melhor forma de fazer essa migração? Criei um projeto com JSF + facelets e joguei os arquivos do meu antigo projeto la, mas gera muitos erros. É possível eu manter minhas jsps e ir migrando algumas páginas ao mesmo tempo? Pensei em até ficar com um contexto jsp e outro em facelets, seria possível fazer isso? como seria a comunicação entre eles?

Muito obrigado pessoal.

Vc até pode usar HttpSessions e HttpServletRequests p/ comunicar os dois contextos, mas isso provavelmente iria requerer algumas adaptações das suas páginas JSP e gerar um código JSF q provavelmente precisaria ser refatorado logo ou ficaria muito ruim. Eu não acho q migrar um projeto q ainda está em desenvolvimento seja uma boa idéia, a menos q JSP tenha se tornado um empecilho p/ a conclusão do projeto.

O projeto é parte da intranet da empresa. Está em desenvolvimento contínuo, entao devido algumas mudanças que ocorreu vimos uma boa oportunidade para explorarmos novas tecnologias, senão ficaremos eternamente presos no que temos hoje. É possível utilizar o mesmo projeto e começar a trabalhar com JSF+Facelets???

Grato.

É possível mas, talvez, o mais simples seja simplesmente adicionar o projeto JSP em um EAR (supondo q ele ainda não esteja em um q o seu servidor seja um servidor JEE) e criar um novo módulo JSF nesse mesmo EAR. Isso evida de misturar os dois projetos.

Utilizo o tomcat 6, muitos dizem que ele não é um servidor j2ee outros falam que é (mas não vem ao caso). Como seria a estrutura? Como eu faria pra criar outro módulo, seria simplesmente um pacote e jogaria as libs necessárias para rodar o jsf e facelets? Cara desculpe o tanto de perguntas, mas estou procurando e não estou encontrando muita coisa útil na net.

Grato.

PS.: pelo que li o tomcat não aceita os .ear só os .war, mas é possivel rodar com o jboss-embedded.

De fato o Tomcat não é um servidor JEE. Ele é apenas um container de Servlets.

Uma idéia (não sei se é boa :slight_smile: ) seria usar uma outra instância do Tomcat p/ a nova aplicação e integrar as duas com o OpenAM. Mas se vc puder implantar um servidor JEE como o Glassfish vai facilitar mais ainda!!

[quote=dev.rafael]De fato o Tomcat não é um servidor JEE. Ele é apenas um container de Servlets.

Uma idéia (não sei se é boa :slight_smile: ) seria usar uma outra instância do Tomcat p/ a nova aplicação e integrar as duas com o OpenAM. Mas se vc puder implantar um servidor JEE como o Glassfish vai facilitar mais ainda!![/quote]

pelo que li o tomcat não aceita os .ear só os .war, mas é possivel rodar com o jboss-embedded. Mas acho q porae não vai ser o caminho, pq trabalhamos com 10 instancias do tomcat balanceando a carga, creio que teriamos que refazer toda configuração.

O que deveria fazer para começar a rodar partes jsf dentro do projeto já existente?

Desculpe pela “outra instância”. Apenas coloca a sua nova aplicação nas mesmas instâncias do seu tomcat e use algum mecanismo de SSO (tipo OpenAM) p/ q a comunicação entre as duas aplicações fica transparente p/ q o usuário tenha impressão de q é uma unica aplicação. Ai é só vc ir migrando as features uma a uma.

Eu sugiro vc começar com um novo mundo:

Servidor JEE (GlassFish para Java 6 ou Jboss AS java 5).
Módulos Webs (JSF 2).
Modulos EJB 3. Com alguns serviços web - METRO ou AXIS para isso.
Empacotar tudo no .EAR

Por enquanto vc pode usuar um .war (com o JSF 2) normalmente no seu tomcat.