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.