Struts 2 - Arquitetura
De um alto nível, Struts2 é uma estrutura pull-MVC (ou MVC2). O padrão Model-ViewController no Struts2 é implementado com os seguintes cinco componentes principais -
- Actions
- Interceptors
- Pilha de valores / OGNL
- Resultados / tipos de resultados
- Ver tecnologias
Struts 2 é um pouco diferente de uma estrutura MVC tradicional, onde a ação assume o papel do modelo em vez do controlador, embora haja alguma sobreposição.
O diagrama acima mostra o Model, Vver e Controller para a arquitetura de alto nível Struts2. O controlador é implementado com umStruts2dispatch servlet filter, bem como interceptores, este modelo é implementado com ações e a visualização é uma combinação de tipos de resultados e resultados. A pilha de valores e OGNL fornecem thread comum, vinculando e permitindo a integração entre os outros componentes.
Além dos componentes acima, haverá muitas informações relacionadas à configuração. Configuração para a aplicação web, bem como configuração para ações, interceptores, resultados, etc.
Esta é a visão geral da arquitetura do padrão Struts 2 MVC. Examinaremos cada componente com mais detalhes nos capítulos subsequentes.
Solicitar Ciclo de Vida
Com base no diagrama acima, você pode entender o fluxo de trabalho por meio do ciclo de vida da solicitação do usuário em Struts 2 como segue -
O usuário envia uma solicitação ao servidor para solicitar algum recurso (ou seja, páginas).
O Filter Dispatcher examina a solicitação e, em seguida, determina a Ação apropriada.
Funcionalidades de interceptor configuradas se aplicam como validação, upload de arquivo etc.
A ação selecionada é executada com base na operação solicitada.
Novamente, os interceptores configurados são aplicados para fazer qualquer pós-processamento, se necessário.
Finalmente, o resultado é preparado pela visualização e retorna o resultado para o usuário.