14.2. Page Controller
Um controlador para cada página ou ação do site.
Resumo
- Um objeto controlador para cada página (ou ação) do site.
- Fluxo: decodifica a URL e o formulário, cria/chama o modelo, escolhe a visão e passa os dados.
- Pode ser script (servlet) ou página de servidor com código (server page).
- Lógica comum (ex.: autenticação) em superclasse ou helpers para evitar duplicação.
- Natural para a maioria dos sites. Navegação complexa ou muito comportamento comum → Front Controller.
Perguntas-chave
responda de cabeça, depois abraO que o Page Controller faz?
Trata a requisição de uma página: lê os parâmetros, chama o modelo e escolhe a visão.
Como evitar duplicação entre Page Controllers?
Com uma superclasse comum ou classes auxiliares (helpers).
Quando trocar por Front Controller?
Quando há muito comportamento comum ou necessidade de despachar comandos de forma dinâmica.
Exercícios de fixação
0/5 respondidas1.
O site tem
ListarAlbuns.java, EditarAlbum.java e VerArtista.java, cada um tratando sua URL. Qual padrão?2.
Todos os Page Controllers verificam login copiando o mesmo trecho. Qual a correção sugerida por Fowler, mantendo o padrão?
3.
Qual não é responsabilidade de um Page Controller?
4.
Por que o Page Controller é o ponto de partida natural na web?
5.
Page Controller pode ser implementado como: