Apache Struts

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Struts é um framework de desenvolvimento da camada controladora, numa estrutura seguindo o padrão Model 2 (uma variante do MVC oficializada pela Sun), de aplicações web (principalmente) construído em Java para ser utilizado em um container web em um servidor J2EE.[1]

Este framework foi originalmente desenvolvido por Craig McClanahan e doado para a Apache Software Foundation em 2002, onde continua sendo desenvolvido segundo o padrão desta fundação.

Objetivos e visão geral[editar | editar código-fonte]

Em um aplicativo de web padrão Java EE, o cliente normalmente envia informações ao servidor através de um formulário da web. Em seguida, a informação ou é entregue a um Java Servlet que a processa, interage com um banco de dados e produz uma resposta formatada em HTML, ou é entregue a um JavaServer Page (JSP) que mixa código HTML e Java para obter o mesmo resultado. Ambas as abordagens são consideradas inadequadas para grandes projetos porque eles misturam a lógica do aplicativo com apresentação e dificultam a manutenção.

O objetivo do Struts é separar o model (modelo - lógica de aplicativo que interage com um banco de dados) do view (visualização - páginas HTML apresentadas para o cliente) e do controller (controlador - instância que transmite informações entre a exibição e o modelo). Struts fornece o controlador/controller (um servlet conhecido como ActionServlet) e facilita a escrita de moldes padronizados para a camada de visualização/view (normalmente em JSP, mas XML/XSLT e Velocity também são suportados). O programador de aplicativo da web é responsável por escrever o código do modelo/model, e por criar um arquivo de configuração centralizador (struts-config.XML) que une modelo, visualização e controlador.

Solicitações do cliente são enviadas para o controller em forma de Actions (ações) definidas no arquivo de configuração. O controller, ao receber uma solicitação, chama a classe Action correspondente a Programação Orientada a Objeto, e esta interage com o código do model específico. O código do model retorna um "ActionForward", uma cadeia de caracteres que informa ao controller qual página de resultado deve ser enviada para o cliente.  As informações são passadas entre model e view em forma de JavaBeans especial. Uma poderosa biblioteca personalizada de palavras-chave (tags - metadata) permite ler e gravar o conteúdo (beans) da camada de apresentação sem a necessidade de qualquer código Java embutido.

Struts é categorizado como uma estrutura de aplicativo web baseada em solicitação.

Struts também oferece suporte a internacionalização e inclui um mecanismo de moldes chamado "Tiles", que permite que a camada de apresentação seja composta de cabeçalho, rodapé e componentes de conteúdo independentes.

Principais problemas e soluções[editar | editar código-fonte]

  • Facilita a população de beans (Action Forms)
  • Simplifica o uso de servlets, necessitando apenas a criação de classes Action
  • Com suas tags dispensa o uso de scriptlets em 98% dos casos.

Componentes[editar | editar código-fonte]

  • ActionForm
  • ActionForward
  • ActionMapping
  • ActionServlet
  • DynaActionForm

Referências

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.