Servlet controller

Pessoal dei uma lida no materal que o cv colocou sobre MVC aqui no forum mas acho q não entendi muito bem o servlet controller.

O sevlet controller apenas vai ter um case ou um if encadeado verificando qual é a página ou serviço que o usuário solicitou e em seguida encaminha para o JSP apropriado. É só isso e “ponto”?

Ah vou aproveitar o barco e tentar tirar uma outra dúvida.
No caso do MVC um bean possui a lógica de negócio e vamos supor que esse bean seja responsável em popular uma array list, depois de populado vou ter que chamar um JSP, e é aí que esta a questão,o código que vai chamar o JSP com o bean populado vai estar no bean?

Se alguém puder me ajudar nestes dois casos fico grato…

:smiley:

A Servlet Controller apenas vai “verificar qual é a página ou serviço que o usuário solicitou e em seguida encaminha para o JSP apropriado” e ponto… vc não precisa mais de nada!! Por exemplo o usuário realizou um cadastro e solicitou o seu envio… a servlet vai verificar qual serviço solicitado, passar para uma classe responsavel para realizar o cadastro e depois dependendo da resposta encaminhar para uma pagina de sucesso ou uma de erro…

A outra dúvida… o código que vai chamar o JSP vai estar na servlet e não no bean…

Servlets pegam os dados que o cliente mandou, passam para a classe com a regra de negocio, pegam a resposta da classe com a regra negocio e devolvem para o cliente.

E não é aconselhável ter apenas um servlet que faz o serviço, baseando-se em ifs. Faça um servlet para cada tipo de necessidade diferente; por exemplo um para login no sistema e outro para o cadastro do usuario.

Pense no servlet como um entregador: ele pega os dados brutos, manda para o lapidador e devolve a jóia pronta para o cliente.

Simples assim :smiley:

LIPE, mas o seguinte, quando eu faço a devolução para o cliente não é responsabilidade da camada de VIEW?
Ou nessa explicação que vc deu o controller vai chamar um VIEW apropriado?

[quote=“prog”]LIPE, mas o seguinte, quando eu faço a devolução para o cliente não é responsabilidade da camada de VIEW?
Ou nessa explicação que vc deu o controller vai chamar um VIEW apropriado?[/quote]

Prog, pense da seguinte maneira:

  • Você submeteu um formulário, certo? Então, esses dados do formulários serem recuperados pelo teu Servlet, que poderá trabalhar os mesmo, acessando o BD para fazer qualquer tipo de instrução SQL e retornando uma informação para o teu Servlet.
  • Recebido os dados ou tratados de forma diferente, irá existir um método que lhe redirecionará para a página seguinte ou até mesma para a mesma página(Isso quem define é tu).
  • Dentro da view, tu pode recuperar esses dados tratados e escrever os mesmos na tela.

Ex:
Ao invés de você ter uma JSP que vai recuperar os dados, tu terá uma Classe específica para isso. :wink:

Espero ter ajudado.

Acho que entendi.
Veja se esta sequência abaixo retrata o que vc´s explicaram pra mim.

  • O formulário é submetido;
  • Os dados são recuperados pelo servlet;
  • O servlet faz a chamada do Bean apropriado;
  • Com os dados retornados do Bean o servlet chama um JSP para view .

É este o raciocínio?

Eh bem por ai :slight_smile:

Rafael