MVC e JSP

No modelo MVC eu posso fazer com que o meu Servlet acesse a DAO, ou tem que passar de qualquer jeito em uma classe com Regras de negócio.

É mais ou menos assim:
O Usuário digita os dados para o cadastro de um paciente, esses dados vão para um servlet que manda esses dados para a DAO que cuida de cadastrar os dados no banco.
Isso é válido no MVC?

Obrigado.

Ei joaom, eu naum sou expert emn MVC, muito menos no struts, mas acho q essa solucao sua eh MVC sim, pois o servlet esta soh controlando o fluxo, naum ta executando nenhuma regra de negocio (acesso ao db) pelo q parece… eu tbm to usando uma logica parecida com essa sua num projetinho q julgo ser MVC :lol:

Alguém ai discorda?!

bem, o Struts separa bem cada camada pra ti, ele tem um controlador, uma camada pra validação de dados, e uma camada action, q é onde acontece a coisa toda… o DAO serve somente pra persistencia, ele só salva coisas no banco, quem vai chamar os métodos do DAO são as classes Action e demais, não o controlador… as classes action seriam mais o negócio da aplicação, o controlador do struts somente le o xml mapeado e direciona as requisições… nao utilize regras de negocio no controller… :roll: pesquise por ValueObject, o caminho q ele percorre… ou até mesmo no Struts, q deixa isso tudo bem claro :slight_smile:

Ahm… eitcha, e eu q achei q tava com um MVC rodando huahauha…
viu Matheus, com esse pattern: ValueObject, tem como eu implementar um MVC sem o Struts?!

claro! mas o Struts facilita! :slight_smile:

Ae Matheus pelo q eu encontrei por ai o ValueObject é só para transferir os dados de uma lapada só naum eh?! Ao inves disso eu naum poderia usar, sei lá, Collections, por exemplo?!

assim, imagine q tu tem um cadastro de clientes, tu em a classe Cliente, com atributos nome e e-mail (só isso por fins de simplicidade), ai… tu tem a tua persistencia, q cuida de tudo oq se refere a conexão ao banco, SQL’s e afins…, teria uma JSP no view, com campos html só pra pegar nome e mail de um Cliente, bem… ai o cliente entra com os dados, envia pro Controller, valida os dados, instancia um novo Cliente com esses dados, faz qualquer logica adicional com esse objeto, e manda ele pra persistencia, algo como objetoDAO.insert( cliente ), bem… esse objeto cliente seria o VO, o objeto q percorre desde a camada de apresentação até a persistência, e vice-versa…, poderia usar uma collection de Cliente :slight_smile: , por exemplo… tu poderia ter um formulario pra deletar itens de uma lista, conforme tu vai selecionando os itens, tu manda os indicados pra uma Collection, ai, no DAO, tu poderia ter um metodo remove() por exemplo sobrecaregado, usando uma Collection como parametro…

Valeu pela Aula Matheus…
Entendi legal agora!

Salve!!!

Matheus, você tem um exemplo (código) de um conrtroller???

vlw mais uma vez!!!

bah cara, aqui não tenho nada, mas é bem simples, imagine q todas as tuas paginas enviem requisições pra um servlet unico, cada uma com seu parametro, imagine q tem a pagina 1, 2 e 3… cada uma envia o parametro p1, p2 e p3, ai no controlador tu teria algo como:

[code]switch( variavel ) {

case p1: // processa a pagina 1
case p2: // processa a pagina 2
case p3: // processa a pagina 3

}[/code]

mais ou menos isso, o Struts abstrai td isso pra vc em configuração de xml (struts-config.xml)