Servlets MVC

11 respostas
W

Olá Todos

Bom estou iniciando em JSP/Servlets,
estou com duvidas no padrao MVC,
não estou entendo como aplicar/Separar as camadas

todos artigos,livros,etc sobre o assunto
dizem que MVC e um modelo onde vc separa o
view da camada de negocio e do BD

até ai blz.

mas todos os exemplos que vejo
mostra conexão com db, saida de consultas ou qualquer outra coisa
pelo mesmo servlets

para ajudar, vocês poderiam indicar
um site,livro,qualquer coisa que tenha um exsemplo em Jsp/Servlets/Bd

que separe as camadas de forma clara para iniciantes

Obrigado.

11 Respostas

Lucas_Teixeira

Eu recomendo você a dar uma olhadinha no Velocity. Com ele, vc separa a sua camada de visão (seu Template) de seu Servlet (no caso, um VelocityServlet).

Já o banco, vc pode manter uma conexão encapsulada dentro de uma classe para você. É legal também usar o padrão DAO (Data Access Object) para acesso a dados e o TO (Transfer Object) para o tráfego das informações.

Links:

Rubem_Azenha

o que vcs acham de usar um servlet para fazer uma consulta num BD, gravar o resultado em uma collection ‘c’,
gravar ‘c’ na session, dar um forward para uma pagina JSP, na pagina JSP pegar ‘c’ da session e exibir o conteúdo de ‘c’?

pcalcado

microfilo:
o que vcs acham de usar um servlet para fazer uma consulta num BD, gravar o resultado em uma collection ‘c’,
gravar ‘c’ na session, dar um forward para uma pagina JSP, na pagina JSP pegar ‘c’ da session e exibir o conteúdo de ‘c’?

Se você vai dar forward, coloque seu atributo em escopo de Request. Session é para dados de Sessão, não use isso para passar dados de um Servlet para uma JSP.

[]s

Rubem_Azenha

ok… vlw…

mas o que acham da mesma situação, passando os dados para request como o pcalcado falou?

vcs acham melhor assim ou usando uma custom tag, que chama uma classe, que acessa o bd, e retorna os dados numa collection?

kuchma

A primeira opcao eh melhor - use custom tags para tarefas relacionadas a camada view (formatacao, exibicao, etc).

Porem a primeira opcao pode ser melhorada: extraia a logica de acesso a banco de dados e coloque numa classe especializada. O servlet fica sendo apenas “C”, o JSP fica sendo o “V” e da classe especializada pra tras fica sendo o “M”.

Digo “pra tras” porque voce pode aperfeicoar o esquema e utilizar patterns como DAO e Business Delegate - se for necessario. Nao utilize patterns apenas para inflar o numero de classes do sistema, exceto claro se estiver recebendo por LOC (linha de codigo). :mrgreen:

Marcio Kuchma

Rubem_Azenha

perae, não entendi, vc esta falando que é melhor o servlet acessar o banco de dados e gravar no request, ou a propria pagina JSP chama, por uma custo m tag, uma classe estilo “conexaoDAO” para acessar os dados???

pcalcado

Não, ele sugeriu que você não conecte ao seu BD via Servlet, que use classes específicas para isso.

Cudiado ao criar tags customizadas demais para sua aplicação, procure reutilizar as já existentes.

[]s

Lucas_Teixeira

gente gente…

Não é por nada, mais eu continuo achando que templates e variáveis oferecidas a ele como na minha primeira msg seja a melhor solução (opiniao)

Tags customizadas? Ui. VelocityServlet ficaria legal para ele visto que é relativamente trivial para ele aprender (pediu para iniciante) e como ele quer, “separa” muito bem a View do Controller.

pcalcado

Para aprender JPS puro, depois tags customizadas.

Para trabalhar, Velocity.

[]s

I

Uma dúvida, eu pego o conteúdo de uma collection e jogo ela para o jsp.
Alguém pode me dizer como faço para exibir ela? Já tentei de diversas maneiras e não consegui. Se alguém tiver um exemplinho…

Valeu

Diogenes

Itere sobre sua Collection…

Criado 3 de janeiro de 2005
Ultima resposta 25 de jan. de 2005
Respostas 11
Participantes 7