É correto?

Olá, minha duvida é simples:

É uma boa pratica instanciar a classe ContatoDAO no meu .jsp ?

ex:

<jsp:useBean id="dao" class="br.com.renan.dao.ContatoDAO" />

A ideia é essa mesmo ? Usar o DAO para nao fazer conexoes diretamente ao banco ?

Porque andei lendo esse topico http://www.guj.com.br/posts/list/60916.java , que por sinal é muito bom, e fiquei com mais duvidas ainda :smiley: isso também é bom =)

Obrigado desde já,

Renan

Na verdade a ideia do DAO eh que as outras camadas nao fiquem dependentes da implementacao da camada de acesso a banco de dados… As chamadas a camada DAO devem ocorrer em seu objeto de negocio ou em outra camada mas nao no JSP…

Na minha opnião o coneceito do DAO é separar a relação do cliente de um recurso dos dados de seu mecanismo de acesso dos dados.
Quando não existia nenhum framework(Hibernate, TopLink…) para fazer a conversão do mundo orientadoa a objetos para o
relacional, o DAO também funcionava como um ponte entre esse dois mundos.

Como o Cesar já falou, o ideal é que você acesse a camada de persistencia através de algum objeto da sua camada de negócios.
Evite acessá-lo da camada de visão ou até mesmo a de controle.


Alysson Bandeira

Não entendi muito bem, alguem poderia me explicar com mais clareza ? talvez citando exemplos… :-o

Seria uma classe a mais que faz as chamadas ao ContatoDAO ?? A classe serviria apenas para ficar entre o jsp e o DAO ??

Att,

Renan

Não é correto instanciar NADA no seu JSP.
JSP é para exibir os dados e só.

É uma péssima prática… nunca faça isso.

Muito Obrigado por respoderem :smiley:
Estudei mais um pouco e vi como fazer de forma correta o jsp :slight_smile:

[code]

Digite seus dados e pressione o botão:
Nome:
Email:
Endereço:
[/code]

Usar servlets dessa forma seria uma boa pratica. Correto ?

Servlet representa qual camada ?? Me perco nessas cadamas :confused: Nao sei ao certo o que representa cada uma.

Muito Obrigado,

Renan

Servlets podem representar a camada controle (o Controller do MVC), mas isso se não houver regras de negócio no servlet (que é o correto).

Bom, qdo não uso frameworks, eu normalmente faço assim (de maneira resumida):
jsp -> servlet -> POJO de negocio / listHandler -> DAO

jsp = responsavel pelo visual
servlet = responsavel por saber para que paginas ir e qual acao executar
POJO de negocio = POJOs com as regras de negocio que acessam os DAOs qdo necessario
listHandler = Classes de listagens, que acessam os DAOs
DAO = minha implementação da camada de acesso aos dados

Dê uma olhada em: http://java.sun.com/blueprints/patterns/MVC-detailed.html
E se quiser dar uma olhadas em padrões de projeto: http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html

Bom estudo. :wink:

obrigado pelos links gleise ! =)

é um bom caso de NUNCA FAZER… hehhee