Referenciando projetos web

9 respostas
M

Tenho duas aplicações web(aplicações “A” e “B”) e preciso utilizar classes e acessar páginas que estão dentro da aplicação “A” na da aplicação “B” e gostaria de sabe qual é a melhor forma de fazer isso?
Já fizemos a referência do war da aplicação “A” na aplicação “B” e conseguimos acessar as classes e páginas da aplicação “A”, porém tivemos que adicionar as classes que fazem acesso a banco da aplicação “A” no persistence da aplicação B.
Estou utilizando eclipse.
Esta é a melhor forma de fazer essas referencia ou existe alguma outra maneira ?

9 Respostas

A

Você não deveria acessar páginas que estão em outro projeto, o ideal seria criar camadas de software, um projeto rodando o backend, o outro com os servlets rodando as páginas. Ai é só adicionar o backend no servlet como dependencia. O ideal é fazer isso com o maven, mas não precisa.
Se não me engano é só adicionar o projeto na aba projetos no build path. Mas pode dar uma pesquisada.

drsmachado

Vamos aplicar OO nesta questão?
Lembre-se: um dos argumentos mais utilizados para defender a utilização de OO é, justamente, reaproveitamento de código.
Quando começamos a estudar herança, temos questões que nos pedem para criar classes de acordo com alguns atributos e métodos (alguns específicos de cada classe e outros comuns entre elas).
Exemplo:
public class A { int b; String z; float l; }
public class B { int b; String x; float c; }
Estas classes podem ser reescritas assim:
public class S{ int b; }
public class A extends S {String z; float l; }
public class B extends S {String x; float c; }
Percebe como criamos uma nova classe S que possui atributos comuns a A e B? Então reescrevemos as classes A e B dizendo que elas SÃO uma classe S (estendem de S). Assim sendo, tanto A quanto B possuem um atributo b inteiro.
Para resolver teu problema, o ideal é, como o @angrymouse disse, modularizar.
Crie um projeto (jar) onde tudo o que você precisa das aplicações A e B estejam. Então, coloque este jar como dependência de cada um dos projetos e seja feliz.

M

Entendi, então as classes ficarão em um jar para que eu possa referenciar em cada um dos meus projetos. Agora em relação as paginas, existe alguma maneira de reutiliza-las ou eu devo escreve-las em cada um dos meus projetos ? Eu utilizo JSF.

drsmachado

Você está utilizando maven?
Eu não sou especialista em maven, mas posso te dizer que, dependendo de como você o configura, consegue fazer com que as páginas possam ser reaproveitadas.

M

Sim. Estou utilizando o maven.

drsmachado

Como eu te disse, eu utilizo, mas não tenho um conhecimento avançado em maven. Eu sei que é possível configurar, via pom.xml, o maven, de forma que o mesmo pegue arquivos de um outro projeto e inclua num terceiro.Agora, como isso é feito, já não consigo te dizer.

M

Vocês me ajudaram bastante. Obrigado a todos.

Eldius

@martins.sjc utilizando o Mavenh o ideal seria você quebrar o projeto em projetos ou módulos menores e colocar eles como dependências… Algo como o esquema abaixo…

- projeto
 |- moduloA
 |- moduloB
 |- moduloComum1
 |- moduloComum2

ou

- projetoA
- projetoB
- projetoComum1
- projetoComum2
L

Ressuscitando tópicos mortos, @Eldius?

Criado 14 de fevereiro de 2017
Ultima resposta 29 de mar. de 2017
Respostas 9
Participantes 5