Differenza tra Struts e Spring MVC

Differenza tra Struts e Spring MVC
Differenza tra Struts e Spring MVC

Video: Differenza tra Struts e Spring MVC

Video: Differenza tra Struts e Spring MVC
Video: PRO E CONTRO NEL PASSARE DA WINDOWS A LINUX 2024, Luglio
Anonim

Struts vs Spring MVC

Struts framework è 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 affrontare alcune delle limitazioni che percepivano in Struts. Ma pochi anni dopo, è arrivato Struts2 (o Struts versione 2), ed era un framework per applicazioni web completamente diverso e altamente migliorato. Ora, sia Struts che Spring MVC vengono utilizzati molto 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, 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 noto come Jakaratha Struts ed è stato mantenuto nell'ambito del progetto Jakarta della Apache Software Foundation. La sua attuale versione stabile è la versione 2.2.3, che è stata rilasciata a maggio 2011. È rilasciata con licenza Apache 2.0. Il framework Struts è chiamato framework basato su richiesta ed è composto da tre componenti principali: un gestore delle richieste, un gestore delle risposte e una libreria di tag. L'URI standard (Uniform Resource Identifier) è mappato a un gestore di richieste. Il gestore della risposta è responsabile del trasferimento del controllo. Per creare applicazioni interattive con moduli, è possibile utilizzare le funzionalità offerte dalla libreria di tag. Struts supportano 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 corrente del framework Spring. È concesso in licenza con licenza Apache 2.0. Qualsiasi applicazione Java può utilizzare le funzionalità principali del framework Spring. Esistono diversi moduli nel framework Spring e MVC è uno di questi. Il framework Spring MVC non faceva parte del loro piano originale. In effetti, il motivo per cui gli sviluppatori di Spring hanno escogitato il proprio framework MVC è stato quello di fornire soluzioni a quelle che hanno mostrato come carenze in Struts (versione 1) e altri framework simili. In particolare, hanno affermato di voler affrontare la mancanza di separazione tra il livello di presentazione, il livello di gestione delle richieste e il modello. Spring MVC è anche un framework di applicazioni Web basato su richiesta.

Qual è la differenza tra Struts e Spring MVC?

Sebbene Spring MVC e Struts siano due framework di applicazioni Web popolari utilizzati per lo sviluppo di applicazioni Web Java EE, hanno le loro differenze. In effetti, Spring MVC è stato sviluppato per affrontare 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 quindi Spring MVC e Structs2 sono altamente comparabili.

Uno dei principali vantaggi di Spring MVC è che è possibile avere una perfetta integrazione con molte opzioni di visualizzazione come JSP/JSTL, Tiles, FreeMaker, Excel, PDF e JSON. Ma, a differenza di Struts, Spring MVC non fornisce il supporto AJAX integrato (è necessario utilizzare una libreria AJAX di terze parti).

In definitiva, entrambi sono considerati framework altamente maturi e la scelta tra i due dipende dalle preferenze personali. È importante notare qui che se ci sono sentimenti negativi nei confronti degli struts, sono dovuti solo alle carenze riscontrate nella versione 1 di Struts (che ora è considerata obsoleta).

Consigliato: