HTML dentro de Servlet

Pessoal, estou com seguinte dúvida:

  • 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.

Valeu.

Assassinaram o MVC! :shock:

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. :smiley:

Seguindo essa idéia, você separa as responsabilidades em camadas, que é o princípio do MVC. :wink:

Certo.

De acordo com o que você escreveu, não estou muito fora do que deve ser, correto?

Uma dúvida, do meu Servlet, devo chamar um método do Bean que realiza o acesso ao BD?

Procure pelos Desing Patterns:

MVC
Front Controller
Delegate

é tudo o que você precisa pra começar.

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

De onde o pessoal tirou essa ideia de que beans nao fazem nada? :smiley:

http://java.sun.com/products/javabeans/

:wink:

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. :smiley:

Valeu galera!!!

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)

Nao seja tao pragmatico quanto nossos colegas.

Como voce esta comecando, estah fazendo quase correto.

Uma melhor solucao do que a sua ultima pergunta seria:

1 - requisicoes HTTP ao servlet, que instancia Beans que fazem o trabalho, eventualmente acessando Banco de Dados.

2 - o servlet recebe as respostas de seus beans e direciona o resultado qualquer a um JSP.

3 - o JSP “apenas” exibe o resultado obtido atraves do servlet, nao fazendo nenhuma chamada a Beans.

Voce ja tem tudo na mao, soh falta organizar um pouquinho. Quando for terminar esse passo, cai matando em MVC, Struts, etc :stuck_out_tongue: .

Uma arquitetura muito boa para um principiante.

:smiley:

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.

Agora está tudo mais claro.

VALEU!!! :wink: