Diferença Entre Struts e Spring MVC

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 aplicativos de código aberto. Algum tempo após a introdução do framework Spring, os desenvolvedores adicionaram uma estrutura MVC ao framework Spring, na esperança de abordar algumas das limitações que eles perceberam no Struts. Mas alguns anos mais tarde, Struts2 (ou Struts versão 2) chegou, e foi completamente diferente e altamente aprimorado web framework de aplicativos. Agora, tanto a Struts quanto a Spring MVC estão sendo usadas muito para o desenvolvimento de aplicativos Java EE no mundo.

O que é Struts?

Struts (também conhecido como Apache Struts) é uma estrutura de código aberto multiplataforma escrita em Java, destinada ao desenvolvimento de aplicativos da Web Java EE. 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 sob o Projeto Jakarta da Apache Software Foundation. Seu lançamento estável atual é a versão 2. 2. 3, que foi lançado em maio de 2011. Ele é 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 é Spring MVC?

Spring é uma estrutura de aplicativos de código aberto. Foi desenvolvido por Rod Johnson, e a primeira versão foi lançada em 2004. Primavera 3. 0. 5 é a versão atual do framework Spring. É licenciado sob licença Apache 2. 0. Qualquer aplicativo Java pode usar os recursos principais do framework Spring. Existem vários módulos no Spring Framework, e o MVC é um deles. O framework Spring MVC não fazia parte do seu plano original. Na verdade, o motivo pelo qual os desenvolvedores da Spring criaram sua própria estrutura MVC foi 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 abordar a falta de separação entre a camada de apresentação, a camada de solicitação e o modelo. O Spring MVC também é uma estrutura de aplicativos web baseada em solicitação.

Qual a diferença entre Struts e Spring MVC?

Embora o Spring MVC e os Struts sejam dois frameworks de aplicativos populares para o desenvolvimento de aplicações web Java EE, eles têm suas diferenças.Na verdade, o Spring MVC foi desenvolvido para solucionar algumas limitações no Struts (versão 1). Mas o Struts2 é uma estrutura altamente aprimorada do que a versão 1 (eles nem sequer compartilham a mesma base de código) e, portanto, o Spring MVC e Structs2 são altamente comparáveis.

Uma das principais vantagens da Spring MVC é que é possível ter uma 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, o Spring MVC não fornece suporte incorporado AJAX (precisa usar a biblioteca AJAX de terceiros).

Em última análise, ambos são considerados frameworks altamente maduros, e escolher entre os dois se resume à preferência pessoal. É importante notar aqui que, se houver sentimentos negativos em relação aos struts, eles são apenas devido às deficiências encontradas na versão 1 de Struts (que agora é considerada obsoleta).