Planejamento de servlets [Resolvido]  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Rafael ap.
JavaChild
[Avatar]

Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline

Estou desenvolvendo um siteminha web, ai surgiu uma dúvida quanto a quantidade de servlets
que eu devo ter no meu sistema.

Eu estava pensando em ter um mínimo possível, só que ai como eu faria?
Eu devo ter uma servlet para cada página web que possa gerar um request?
Eu posso fazer uma servlet servir para mais de uma página agrupando por
uma característica específica? Por exemplo uma servlet para as consultas, outra
para cadastros em geral? Estou meio perdido.

No momento não pretendia usar nenhum framework.

This message was edited 1 time. Last update was at 03/03/2010 09:54:28

Jair Rillo Junior
Moderador
[Avatar]

Membro desde: 29/04/2003 21:19:53
Mensagens: 2524
Localização: São Paulo / Campinas
Offline

Ola,

Você até pode utilizar o Servlet para tratar vários requests. Nesse caso você além de chamar o request, passaria algum parametro para ele (via http request) e então o seu método doGet ou doPost iria redirecionar para o método correto, porém eu particularmente não gosto disso e acho que a partir do momento que o projeto vai crescendo, a manutenção fica mais complicado.

Pense no Servlet como o controller da sua aplicação, ele deve tratar o request, chamar a camada de negócio e depois devolver as informações para a view, ou seja, seu processamento deve ser simples e direto. Se começar a encher de método nele, ele vai acabar ficando grande e complicado. Assim sendo, eu particularmente prefiro um servlet por request. É fundamental com esse approach definir muito bem os pacotes de cada servlet, para não perder o controle, pois assim você terá bastante classes, mas elas com responsabilidade e códigos pequenos.

PS: Isso é a minha opinião

Jair Rillo Junior

http://www.jairrillo.com/blog | Twitter | SCJA, SCJP, SCWCD, SCBCD, IBM SOA Associate
dyorgio
JavaEvangelist
[Avatar]

Membro desde: 05/05/2005 20:03:20
Mensagens: 323
Localização: Porto Alegre - RS
Offline

pois é cara, se tu usasse um framework (vraptor, struts, etc..)
ele faria apenas 1 servlet e iria mapear as "actions" para suas classes/metodos java...

respondendo a sua pergunta:
Use 1 servlet para cada unidade do negocio...
ou seja..
não misture no mesmo servlets coisas que não tem nada a ver.

por exemplo

cadastrar uma cidade e um estado, podem estar no mesmo servlet, pois são cadastro de endereço
mesmo sendo duas coisas distintas..(estado e cidade)

mais ai na hora de cadastrar um produto, use outro servlet.

I can fly!!!
[Email] [MSN]
Rafael ap.
JavaChild
[Avatar]

Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline

Se eu tenho uma classe Empresa e EmpresaDAO,
eu faço uma servlet para cadastrar/alterar/excluir/consultar
a empresa ou uma servlet pra cada?

Pensando em deixar o sistema com fácil manutenção.

Porque uma servlet para cada coisa ia deixar o meu sistema com muitas servlets mesmo.
dyorgio
JavaEvangelist
[Avatar]

Membro desde: 05/05/2005 20:03:20
Mensagens: 323
Localização: Porto Alegre - RS
Offline

a principio podes seguir a ideia de pra cada DAO, um servlet

mais o certo é pra cada Service um servlet..
dentro do Service vc podes ter varios DAOs..

por exemplo, num EmpresaService
vc podera ter o incluirEmpresa()

e ai vc pode usar um EmpresaDAO para o cadastro, que esta dentro do service
e aproveitar e usar um EnderecoDAO para cadastrar o endereço dessa empresa...

mesmo sendo um service de Empresa, pode ter um DAO de endereço, pois esta sendo usado para cadastrar a empresa..

entendeu? ou complicou?

I can fly!!!
[Email] [MSN]
Rafael ap.
JavaChild
[Avatar]

Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline

Tá, complicou mas acho que entendi;
Um servlet por request, ai no EmpresaService
eu chamo alguma coisa que não seja de empresa
mas que tenha a ver com ela.
É isso?
dyorgio
JavaEvangelist
[Avatar]

Membro desde: 05/05/2005 20:03:20
Mensagens: 323
Localização: Porto Alegre - RS
Offline

Isso, considere Services como um agrupador de DAOs que
a principio não estão relacionados entre si, porem para a regra de
negocio da sua app precisam interagir

I can fly!!!
[Email] [MSN]
Rafael ap.
JavaChild
[Avatar]

Membro desde: 24/08/2008 17:15:06
Mensagens: 132
Offline

Valeu mesmo. Estou começando a compreender
a lógica da coisa...
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team