A estrutura da Web Struts Apache é uma solução gratuita de código aberto para criar aplicativos da Web Java.
Mais informações podem ser encontradas na página inicial. Leia o guia de segurança e os javadocs podem ser navegados. Perguntas relacionadas ao uso de suportes Apache devem ser publicadas na lista de correspondência do usuário.
Os aplicativos da Web diferem dos sites convencionais, pois os aplicativos da Web podem criar uma resposta dinâmica. Muitos sites oferecem apenas páginas estáticas. Um aplicativo da Web pode interagir com bancos de dados e mecanismos de lógica de negócios para personalizar uma resposta.
Aplicativos da Web com base nas páginas do JavaServer às vezes comece o código do banco de dados, o código de design da página e o código de fluxo de controle. Na prática, descobrimos que, a menos que essas preocupações sejam separadas, aplicativos maiores se tornam difíceis de manter.
Uma maneira de separar as preocupações em um aplicativo de software é usar uma arquitetura de Model-View-Controller (MVC). O modelo representa o código de negócios ou banco de dados, a exibição representa o código de design da página e o controlador representa o código de navegação. A estrutura do Struts foi projetada para ajudar os desenvolvedores a criar aplicativos da Web que utilizam uma arquitetura MVC.
A estrutura fornece três componentes principais:
A arquitetura e as tags da estrutura são compatíveis com a palavra da moda. Os suportes funcionam bem com aplicações de repouso convencionais e com tecnologias como SOAP e AJAX.
O projeto Apache Struts é a comunidade de código aberto que cria e mantém a estrutura do Apache Struts. O projeto consiste em um grupo diversificado de voluntários que compartilham valores comuns em relação ao desenvolvimento colaborativo de código aberto baseado na comunidade. O Projeto Apache Struts tem o orgulho de compartilhar esses valores com nossa organização pai: The Apache Software Foundation.
O projeto é chamado de "struts" porque a estrutura visa fornecer os "fundamentos invisíveis" que apóiam o desenvolvimento de aplicativos profissionais. Os struts fornecem a cola que une os vários elementos da plataforma Java padrão em um todo coerente. Nosso objetivo é aproveitar os padrões existentes produzindo as peças que faltavam para criar aplicativos de nível corporativo que são fáceis de manter com o tempo.
O projeto Apache Struts ofereceu duas versões principais da estrutura do Struts. Atualmente, estamos apenas mantendo a versão Struts 2. Recomenda -se atualizar todos os aplicativos 1.x de struts 2. Por favor, não inicie o desenvolvimento de novos aplicativos usando o Struts 1.x, pois não estamos mais emitindo patches de segurança.
O Struts 2 foi originalmente conhecido como Webwork 2. Depois de trabalhar de forma independente por vários anos, as comunidades da Web Work e Struts uniram forças para criar struts 2. A estrutura 2.x é a melhor opção para equipes que valorizam soluções elegantes para problemas difíceis.
A Apache Struts é uma estrutura da web moderna, mantida e completa. Como existe há anos e cresceu uma enorme base de usuários, é improvável que ele desapareça em breve. Além disso, temos usuários e desenvolvedores dedicados no projeto. O Apache Struts está licenciado sob a licença Apache 2.0 e isso não será alterado. Mantemos um IP limpo e você é "seguro" para usar o projeto. Às vezes, você não é "seguro" para usar um projeto quando uma empresa controla o SCM. O acesso ao código -fonte não significa que seja gratuito. Com os suportes do Apache, você não é apenas gratuito para "fazer o que deseja com ele", você pode até contribuir (o que nem sempre é o caso). E o melhor de tudo: você também pode se tornar parte da equipe principal.
Geralmente é muito fácil integrar outras tecnologias com suportes Apache. Se você estiver usando um ORM como o Apache Cayenne, Hibernate ou JDBC, não terá nenhuma restrição. O Apache Struts nem sequer está muito ligado a uma tecnologia de front -end. Antigamente, era JSP, depois veio Velocity e Freemarker. Atualmente, você pode criar seu aplicativo da Web com apenas HTML estático e AngularJs. Ou você pode querer usar sitemesh ou ladrilhos. Tudo isso não tem problema devido aos mecanismos de extensão elegantes e fáceis de usar do Struts.
Ao contrário de outras estruturas orientadas para componentes, não pretendemos ocultar a natureza apátrida da web. Achamos que é perfeitamente aceitável desenvolver um ciclo de solicitação/resposta. Também achamos que o padrão MVC não é tão ruim, só porque é antigo. De fato, acreditamos que a arquitetura do Apache Struts é limpa e fácil de entender.
Obviamente, se você deseja criar componentes no lado do servidor que renderizam no lado frontal, provavelmente não desejará suportes. Essa é uma abordagem diferente que promete reduzir a quantidade de conhecimento html/javascript necessário e criar componentes reutilizáveis para a camada de visualização. Projetos como wicket e tapeçaria servem muito bem a esse propósito. Como em todas as estruturas, você precisa decidir se faz sentido criar componentes ou se preferir a abordagem do Struts.
A comunidade Apache Struts não oferece suporte comercial por si só.
Alguns mantenedores do Apache Struts estão trabalhando com o Tidelift para fornecer suporte comercial e investir tempo de trabalho pago na melhoria da estrutura do Apache Struts. Para mais informações, visite os recursos do Tidelift sobre os suportes Apache