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