Diferença Entre Struts E Spring MVC

Diferença Entre Struts E Spring MVC
Diferença Entre Struts E Spring MVC

Vídeo: Diferença Entre Struts E Spring MVC

Vídeo: Diferença Entre Struts E Spring MVC
Vídeo: Разница между Servlet, Spring MVC и Spring Boot. 2024, Novembro
Anonim

Struts vs Spring MVC

A estrutura Struts é uma das estruturas iniciais de aplicativos da web para o desenvolvimento de aplicativos da web Java EE. Spring é uma estrutura de aplicativo de código aberto. Algum tempo após a introdução do framework Spring, os desenvolvedores adicionaram um framework MVC ao framework Spring, na esperança de resolver algumas das limitações que perceberam no Struts. Mas, alguns anos depois, o Struts2 (ou Struts versão 2) chegou, e era uma estrutura de aplicativo da web completamente diferente e altamente aprimorada. Agora, tanto o Struts quanto o Spring MVC estão sendo usados intensamente para o desenvolvimento de aplicativos Java EE em todo o mundo.

O que é Struts?

Struts (também conhecido como Apache Struts) é uma estrutura de software livre de plataforma cruzada escrita em Java, que se destina ao desenvolvimento de aplicativos da web Java EE. Struts encoraja o uso da arquitetura MVC (Model-View-Controller). É uma extensão da API Java Servlet. Craig McClanahan é o criador original do Struts. Inicialmente era conhecido como Jakaratha Struts e foi mantido sob o Jakarta Project of Apache Software Foundation. Sua versão estável atual é a versão 2.2.3, que foi lançada em maio de 2011. É lançada sob a licença Apache 2.0. A estrutura do 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 resposta é responsável por transferir o controle. Para criar aplicativos interativos com formulários, os recursos oferecidos pela biblioteca de tags podem ser utilizados. Struts oferece suporte a aplicativos REST e várias tecnologias, como SOAP, AJAX, etc.

O que é Spring MVC?

Spring é uma estrutura de aplicativo de código aberto. Foi desenvolvido por Rod Johnson, e a primeira versão foi lançada em 2004. Spring 3.0.5 é a versão atual do framework Spring. Ele é licenciado sob a licença Apache 2.0. Qualquer aplicativo Java pode usar os recursos principais da estrutura Spring. Existem vários módulos no framework Spring, e MVC é um deles. A estrutura Spring MVC não fazia parte de seu plano original. Na verdade, o motivo pelo qual os desenvolvedores do Spring criaram seu próprio framework MVC foi para fornecer soluções para o que eles mostraram como deficiências no Struts (versão 1) e outros frameworks semelhantes. Em particular, eles disseram que queriam resolver a falta de separação entre a camada de apresentação, a camada de tratamento de solicitação e o modelo. Spring MVC também é uma estrutura de aplicativo da web baseada em solicitação.

Qual é a diferença entre Struts e Spring MVC?

Embora Spring MVC e Struts sejam duas estruturas de aplicativos da Web populares usadas para desenvolver aplicativos da Web Java EE, eles têm suas diferenças. Na verdade, Spring MVC foi desenvolvido para resolver algumas limitações do Struts (versão 1). Mas Struts2 é uma estrutura altamente melhorada que a versão 1 (eles nem mesmo compartilham a mesma base de código) e, portanto, o Spring MVC e Structs2 são altamente comparáveis.

Uma das principais vantagens do Spring MVC é que é possível ter integração perfeita com muitas opções de visualização, como JSP / JSTL, Tiles, FreeMaker, Excel, PDF e JSON. Mas, ao contrário do Struts, Spring MVC não fornece suporte AJAX integrado (é necessário usar uma biblioteca AJAX de terceiros).

Em última análise, ambos são considerados estruturas altamente maduras e escolher entre os dois se resume à preferência pessoal. É importante notar aqui que se houver algum sentimento negativo em relação ao Struts, ele se deve apenas às deficiências encontradas na versão 1 do Struts (que agora é considerada obsoleta).

Recomendado: