Unterschied zwischen Struts und Spring MVC

Anonim

Struts vs Spring MVC

Das Struts Framework ist eines der ersten Web Application Frameworks für die Entwicklung von Java EE Webanwendungen. Spring ist ein Open-Source-Anwendungsrahmen. Einige Zeit nach der Einführung des Spring-Frameworks fügten die Entwickler dem Spring-Framework ein MVC-Framework hinzu und hofften, einige der Einschränkungen, die sie in Struts wahrnahmen, anzugehen. Aber wenige Jahre später kam Struts2 (oder Struts Version 2) an, und es war ein völlig anderes und stark verbessertes Framework für Webanwendungen. Jetzt werden sowohl Struts als auch Spring MVC sehr stark für die Entwicklung von Java EE-Anwendungen in der Welt verwendet.

Was ist Struts?

Struts (auch bekannt als Apache Struts) ist ein plattformübergreifendes Open-Source-Framework, das in Java geschrieben wurde und zur Entwicklung von Java EE-Webanwendungen gedacht ist. Struts unterstützen 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. Anfangs war es als Jakaratha Struts bekannt und wurde unter dem Jakarta Projekt der Apache Software Foundation unterhalten. Sein aktuelles stabiles Release ist die Version 2. 2. 3, die im Mai 2011 erschienen ist. Es wird unter der Apache-Lizenz 2 veröffentlicht. Das Struts-Framework wird als anforderungsbasiertes Framework bezeichnet und besteht aus drei Hauptkomponenten: eine Anforderungsbehandlungsroutine, eine Antwortbehandlungsroutine und eine Tag-Bibliothek. Standard-URI (Uniform Resource Identifier) ​​wird einem Request-Handler zugeordnet. Der Antwort-Handler ist für die Übertragung 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, etc.

Was ist Spring MVC?

Spring ist ein Open-Source-Anwendungsrahmen. 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 lizenziert unter Apache 2. 0 Lizenz. Jede Java-Anwendung kann die Kernfunktionen des Spring-Frameworks verwenden. In Spring Framework gibt es mehrere Module, und MVC ist einer von ihnen. Der Spring-MVC-Rahmen war nicht Teil ihres ursprünglichen Plans. Der Grund, warum Spring-Entwickler ein eigenes MVC-Framework entwickelten, war, Lösungen für das bereitzustellen, was sie als Mängel in den Struts (Version 1) und anderen ähnlichen Frameworks zeigten. Insbesondere sagten sie, dass sie das Fehlen einer Trennung zwischen der Präsentationsschicht, der Request-Handling-Schicht und dem Modell angehen wollten. Spring MVC ist auch ein auf Anfrage basierendes Framework für Webanwendungen.

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.In der Tat 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 teilen sich nicht einmal dieselbe Code-Basis), und daher sind Spring MVC und Structs2 in hohem Maße vergleichbar.

Einer der Hauptvorteile von Spring MVC ist die nahtlose Integration in viele Ansichtsoptionen wie JSP / JSTL, Kacheln, FreeMaker, Excel, PDF und JSON. Spring MVC bietet jedoch im Gegensatz zu Struts keine integrierte AJAX-Unterstützung (Notwendigkeit, eine AJAX-Bibliothek von Drittanbietern zu verwenden).

Letztendlich gelten beide als hoch reife Frameworks, und die Wahl zwischen den beiden kommt auf die persönliche Präferenz zurück. Es ist wichtig, hier zu beachten, dass, wenn es negative Struts-Gefühle gibt, diese nur auf die Mängel zurückzuführen sind, die in Struts Version 1 (die jetzt als obsolet gilt) gefunden wurden.