Struts vs Spring MVC
Il framework Struts è uno dei framework di applicazioni Web iniziali per lo sviluppo di applicazioni Web Java EE. Spring è un framework applicativo open source. Qualche tempo dopo l'introduzione del framework Spring, gli sviluppatori hanno aggiunto un framework MVC al framework Spring, sperando di risolvere alcuni dei limiti che percepivano in Struts. Ma pochi anni dopo, arrivò Struts2 (o Struts versione 2), ed era completamente diverso e molto migliorato framework di applicazioni web. Ora, sia Struts che Spring MVC vengono utilizzati molto pesantemente per lo sviluppo di applicazioni Java EE nel mondo.
Cos'è Struts?
Struts (noto anche come Apache Struts) è un framework open source multipiattaforma scritto in Java, che è destinato allo sviluppo di applicazioni web Java EE. Struts incoraggia l'uso dell'architettura MVC (Model-View-Controller). È un'estensione dell'API Java Servlet. Craig McClanahan è il creatore originale di Struts. Inizialmente era conosciuto come Jakaratha Struts, ed è stato mantenuto sotto Jakarta Project di Apache Software Foundation. La sua attuale versione stabile è la versione 2.2.3, che è stata rilasciata nel maggio 2011. È rilasciata con Apache License 2.0. Il framework Struts è chiamato framework basato su richiesta ed è composto da tre componenti principali: un gestore di richieste, un gestore di risposte e una libreria di tag. L'URI standard (Uniform Resource Identifier) è mappato su un gestore di richieste. Il gestore delle risposte è responsabile del trasferimento del controllo. Per creare applicazioni interattive con moduli, è possibile utilizzare le funzionalità offerte dalla libreria di tag. Struts supporta applicazioni REST e varie tecnologie come SOAP, AJAX, ecc.
Cos'è Spring MVC?
Spring è un framework applicativo open source. È stato sviluppato da Rod Johnson e la prima versione è stata rilasciata nel 2004. Spring 3.0.5 è la versione attuale del framework Spring. È concesso in licenza con licenza Apache 2.0. Qualsiasi applicazione Java può utilizzare le funzionalità principali del framework Spring. Ci sono diversi moduli nel framework Spring e MVC è uno di questi. Il framework MVC di Spring non faceva parte del piano originale. In effetti, il motivo per cui gli sviluppatori Spring avevano ideato il proprio framework MVC era quello di fornire soluzioni a ciò che hanno mostrato come carenze in Struts (versione 1) e in altri framework simili. In particolare, hanno affermato di volere affrontare la mancanza di separazione tra il livello di presentazione, il livello di gestione delle richieste e il modello. Spring MVC è anche un framework per applicazioni web basato su richiesta.
Qual è la differenza tra Struts e Spring MVC?
Sebbene Spring MVC e Struts siano due noti framework di applicazioni Web utilizzati per lo sviluppo di applicazioni Web Java EE, presentano le loro differenze. In effetti, Spring MVC è stato sviluppato per risolvere alcune limitazioni in Struts (versione 1). Ma Struts2 è un framework molto migliorato rispetto alla versione 1 (non condividono nemmeno la stessa base di codice) e, pertanto, Spring MVC e Structs2 sono altamente comparabili.
Uno dei principali vantaggi di Spring MVC è che è possibile integrare senza problemi molte opzioni di visualizzazione come JSP / JSTL, Tiles, FreeMaker, Excel, PDF e JSON. Ma, diversamente da Struts, Spring MVC non fornisce il supporto AJAX integrato (è necessario utilizzare la libreria AJAX di terze parti).
In fin dei conti, entrambi sono considerati quadri altamente maturi e la scelta tra i due si riduce alle preferenze personali. È importante notare qui che se ci sono dei sentimenti negativi nei confronti dei montanti, sono solo dovuti alle carenze che sono state trovate nella versione 1 di Struts (che ora è considerata obsoleta).