Camada de Controlo
SERVELTS. FUNDAMENTOS
A camada de controlo é composta pelos componentes de processamento que controlam os processos de negócio, coordenando os outros componentes do sistema para que o resultado final seja o esperado.
O Controlador numa aplicação Web com tecnologia Java em geral é um Servlet. O Servlet recete todas as requisições da aplicação e é responsável por tomar as decisões corretas em relação à resposta a dar a cada requisição. Uma vez obtidos os dados, o Servlet chama a visão apropriada, geralmente uma pagina JSP (camada de apresentação).
O controlador é implementado com um Servlet:
Recebe os dados do cliente
Instancia os JavaBeans da camada Modelo ou recupera os beans ja criados da sessão do utilizador.
Processa as requisições e outras informações
Seleciona o elemento da camada de visão adequado à resposta. Em geral uma pagina JSP. O Servlet seleciona qual JSP fará a montagem da pagina e faz o redirecionamento. Os OObjetosdo modelo podem ser passados através do objeto request ou da sessão do utilizador.
Padrão Front Controller
O Padrão Front Controller implementado com o Model 2 do padrão MVC concentra todas as requisições web num único objeto manipulador, despachando o tratamento adequando destas requisições conforme o comportamento esperado. Os cânones do padrão Front Controller definem um mecanismo para a gestão centralizada das requisições do utilizador numa única fachada.
Com desgin centrado em servelt (Front Controller) a aplicação consiste num conjunto de paginas JSP, JavaBeans e servlets que controla todo o fluxo de informação e navegação. Este modelo favorece uma melhor organização da aplicação em camadas, facilita a manutenção e promove a reutilização de componentes.
Neste modelo um único servlet pode servir de fachada para toda aplicação. No entanto é comum definir-se um servlet para controlar o fluxo das operações sobre cada objeto de negócio.
Participantes e responsabilidades
Controller
Ponto de entrada que centraliza todas as requisições. Tem a responsabilidade de extrair do pedido HTPP todo os dados necessários à ação; criar e invocar o modelo, passando-lhe os dados obtidos e decidir que visão utilizar e passar para esta visão os dados do modelo
Dispatcher
Tipicamente utiliza e encapsulam objeto do tipo javax.servlet.RequestDispathcer. Passa o pedido a outros objetos, para o comportamento especifico ao pedido recebido.
View
Geralmente uma pagina JSP