Tenho o meu Servlet, após recuperado os valores enviados pela minha JSP sejam eles por formulários ou através da URL, é correto trabalhar da seguinte maneira: tratar as informações utilizando métodos do JavaBeans caso necessite realizar algum acesso ao banco de dados ou redirecionar para alguma outra JSP sem informar código HTML dentro dele?
Pergunto isso porque vi alguns exemplos onde desenvolvedores incluiam dentro do Servlet código HTML e até mesmo acesso ao BD.
Colocar código HTML junto com código Java é uma péssima idéia! O ideal é criar DAOs que fazem o acesso ao BD, populem Beans que são passados para as páginas JSP, que exibem os resultados contidos nesses Beans.
Seguindo essa idéia, você separa as responsabilidades em camadas, que é o princípio do MVC.
Só reforçando a idéia do Daniel …
Bean não faz nada … só carrega informação …
Então fica assim
jsp … apresenta as informações contidas num ActionForm
… envia as informações de uma página … via form para uma ação
acao … popula um form fazendo requisições a camada de negócio
envia as informações de um form para serem tratadas pela camada de negócio
Objetos de negócio … persistem as informações oriundas do controle (vulgo
actions)
… buscam informações persistidas em seu repositório (geralmente um banco de dados).
html fica no jsp.
informação trafega via ActionForm
Ação só trata informações através destes ActionForms
Bom, resumindo a ópera: use os patterns, aprenda sobre eles - são maneiras já testadas e provadas de não se ferrar depois. É tipo engenharia de software enlatada.
Sei que talvez a resposta desta minha pergunta seja: “Leia tal documentação em tal site…”, mas tenho mais uma dúvida, após recebidas e verificadas as informações de meu form/action, o servlet pode redirecionar para uma JSP qualquer e esta pode realizar uma chamada a um Bean que por sua vez irá verificar o objetivo de sua chamada. Isso é válido?
A pergunta se parece um pouco com a anterior.
Estou em cima de documentos, exemplos tudo mais sobre MVC, Struts, resumindo, tudo que possa me ajudar a desenvolver algo realmente correto.
Sinceramente, quem inventou o GUJ merece um NOBEL 8)
net_sandro, cara a tua explicação era tudo o que eu queria. Tinha em mente que a comunicação do JavaBean para o Servlet não era correta, por isso me perguntava o por que do Servlet se as JSP’s podem se comunicar direto com os Beans.