Diferença Entre Struts e Struts2

Anonim

Struts vs Struts2

Struts (também conhecido como Apache Struts ou Struts 1) é uma plataforma cruzada aberta estrutura de origem escrita em Java, que se destina ao desenvolvimento de aplicações web Java EE. Foi uma das estruturas iniciais de aplicativos da Web do Java EE. Mas alguns anos mais tarde, Struts2 (ou Struts versão 2) chegou, e era uma estrutura de aplicação web completamente diferente e altamente aprimorada. Ele abordou alguns problemas que foram percebidos como deficiências na versão inicial. Agora, o Struts2 está sendo usado muito para o desenvolvimento de aplicativos Java EE no mundo.

O que é Struts?

A estrutura Struts (Struts 1) foi uma das estruturas de aplicação web inicial para o desenvolvimento de aplicativos da Web Java EE. A estrutura Struts incentiva o uso da arquitetura MVC (Model-View-Controller). É uma extensão da Java Servlet API. Craig McClanahan é o criador original da Struts. Inicialmente, era conhecido como Jakaratha Struts e foi mantido no Projeto Jakarta da Fundação Apache Software. É lançado sob a Licença Apache 2. 0. A estrutura Struts é chamada de estrutura baseada em solicitação e é composta por três componentes principais: um manipulador de solicitação, um manipulador de resposta e uma biblioteca de tags. URI padrão (Uniform Resource Identifier) ​​é mapeado para um manipulador de solicitação. O manipulador de respostas é responsável por transferir o controle. Para criar aplicações interativas com formulários, os recursos oferecidos pela biblioteca de tags podem ser utilizados. Struts suporta aplicações REST e várias tecnologias como SOAP, AJAX, etc.

O que é Struts2?

A estrutura Struts foi percebida como contendo certas limitações (principalmente a falta de separação entre a camada de apresentação, a camada de tratamento de solicitação e o modelo) pelos desenvolvedores Java EE naquela época e, consequentemente, poucos anos depois, Struts2 chegou. Na verdade, Struts2 era completamente diferente de Struts. Na verdade, eles nem compartilharam a mesma base de código porque o Struts2 era simplesmente o resultado de mudar o nome da WebWork 2. 2 framework (i. E. WebWork e Struts comunidades que trabalharam separadamente por algum tempo finalmente juntaram as mãos para criar o Struts2). Sua versão estável atual é a versão 2. 2. 3, que foi lançado em maio de 2011.

Qual a diferença entre Struts e Struts2?

Um dos muitos problemas da estrutura Struts foi a necessidade de programação para abstrair aulas em vez de interfaces. Isso foi resolvido pela estrutura Struts2. Por exemplo, a estrutura Struts exigia que as classes de Ação fossem estendidas das classes da base abstrata, mas as Ações Struts2 podem implementar uma interface de Ação. Devido às diferenças no modelo de threading entre as duas versões, os problemas de segurança de thread surgidos na estrutura Struts sobre objetos de ação não ocorrem na estrutura Struts2.O motivo é Struts2 Os objetos de ação são instanciados para cada solicitação, enquanto uma estrutura Action in Struts tem apenas uma instância para lidar com todos os pedidos para essa ação. Ao contrário da estrutura Actions in Struts, as Ações Struts2 não dependem da API Servlet.

Testability of Struts2 framework é comparativamente maior do que o Struts framework. Você pode testar as Ações Struts2 simplesmente seguindo as três etapas: instanciação, configuração de propriedades e invocação de métodos. A entrada de colheita é mais fácil na estrutura Struts2, pois as propriedades de ação são usadas como propriedades de entrada, sem ter que manter um segundo objeto de entrada. Além do suporte para a integração JSTL (que está presente em Struts), a estrutura Struts2 pode usar o OGNL mais poderoso e expressivo (Object Graph Notation Language). Para conversão de tipo, Strut e Strut2 usam Commons-Beanutils e OGNL, respectivamente. Devido a essas melhorias, a estrutura Struts2 é considerada uma estrutura altamente madura e é muito popular entre os programadores Java EE. Por outro lado, a estrutura Struts agora é considerada obsoleta.