Unterschied zwischen Struts und Spring MVC

Unterschied zwischen Struts und Spring MVC
Unterschied zwischen Struts und Spring MVC

Video: Unterschied zwischen Struts und Spring MVC

Video: Unterschied zwischen Struts und Spring MVC
Video: Ubuntu vs Linux Mint - 2022 Edition - Welches ist das BESSERE Linux? 2024, November
Anonim

Struts gegen Spring MVC

Struts-Framework ist eines der ersten Webanwendungs-Frameworks für die Entwicklung von Java EE-Webanwendungen. Spring ist ein Open-Source-Anwendungsframework. Einige Zeit nach der Einführung des Spring-Frameworks fügten die Entwickler dem Spring-Framework ein MVC-Framework hinzu, in der Hoffnung, einige der Einschränkungen zu beheben, die sie in Struts wahrgenommen haben. Aber einige Jahre später kam Struts2 (oder Struts Version 2) und es war ein völlig anderes und stark verbessertes Webanwendungs-Framework. Jetzt werden sowohl Struts als auch Spring MVC weltweit sehr intensiv für die Entwicklung von Java EE-Anwendungen verwendet.

Was ist Struts?

Struts (auch bekannt als Apache Struts) ist ein in Java geschriebenes plattformübergreifendes Open-Source-Framework, das für die Entwicklung von Java EE-Webanwendungen vorgesehen ist. Struts fördern die Verwendung der MVC-Architektur (Model-View-Controller). Es ist eine Erweiterung der Java Servlet API. Craig McClanahan ist der ursprüngliche Schöpfer von Struts. Ursprünglich war es als Jakaratha Struts bekannt und wurde unter dem Jakarta-Projekt der Apache Software Foundation verw altet. Die aktuelle stabile Version ist Version 2.2.3, die im Mai 2011 veröffentlicht wurde. Sie wird unter der Apache-Lizenz 2.0 veröffentlicht. Das Struts-Framework wird als Request-based Framework bezeichnet und besteht aus drei Hauptkomponenten: einem Request-Handler, einem Response-Handler und einer Tag-Bibliothek. Standard-URI (Uniform Resource Identifier) wird einem Request-Handler zugeordnet. Der Response Handler ist für die Übergabe der Kontrolle verantwortlich. Um interaktive Anwendungen mit Formularen zu erstellen, können die von der Tag-Bibliothek angebotenen Funktionen genutzt werden. Struts unterstützen REST-Anwendungen und verschiedene Technologien wie SOAP, AJAX usw.

Was ist Spring MVC?

Spring ist ein Open-Source-Anwendungsframework. Es wurde von Rod Johnson entwickelt, und die erste Version wurde 2004 veröffentlicht. Spring 3.0.5 ist die aktuelle Version des Spring-Frameworks. Es ist unter der Apache 2.0-Lizenz lizenziert. Jede Java-Anwendung kann die Kernfunktionen des Spring-Frameworks verwenden. Es gibt mehrere Module im Spring-Framework, und MVC ist eines davon. Das Spring MVC-Framework war nicht Teil ihres ursprünglichen Plans. Tatsächlich war der Grund, warum Spring-Entwickler ihr eigenes MVC-Framework entwickelten, die Bereitstellung von Lösungen für das, was sie als Mängel in Struts (Version 1) und anderen ähnlichen Frameworks aufzeigten. Insbesondere sagten sie, dass sie die fehlende Trennung zwischen der Präsentationsschicht, der Anforderungsbearbeitungsschicht und dem Modell angehen wollten. Spring MVC ist auch ein anfragebasiertes Webanwendungs-Framework.

Was ist der Unterschied zwischen Struts und Spring MVC?

Obwohl Spring MVC und Struts zwei beliebte Webanwendungs-Frameworks sind, die für die Entwicklung von Java EE-Webanwendungen verwendet werden, haben sie ihre Unterschiede. Tatsächlich wurde Spring MVC entwickelt, um einige Einschränkungen in Struts (Version 1) zu beheben. Aber Struts2 ist ein stark verbessertes Framework als Version 1 (sie haben nicht einmal die gleiche Codebasis), und daher sind Spring MVC und Structs2 sehr vergleichbar.

Einer der Hauptvorteile von Spring MVC ist die nahtlose Integration mit vielen Ansichtsoptionen wie JSP/JSTL, Tiles, FreeMaker, Excel, PDF und JSON. Im Gegensatz zu Struts bietet Spring MVC jedoch keine integrierte AJAX-Unterstützung (AJAX-Bibliothek eines Drittanbieters muss verwendet werden).

Letztendlich gelten beide als sehr ausgereifte Frameworks, und die Wahl zwischen den beiden hängt von den persönlichen Vorlieben ab. Es ist wichtig zu beachten, dass negative Gefühle gegenüber Struts nur auf die Mängel zurückzuführen sind, die in Struts Version 1 festgestellt wurden (die jetzt als ver altet gilt).

Empfohlen: