Struts vs Spring MVC
Struts-framework is een van de eerste frameworks voor webtoepassingen voor het ontwikkelen van Java EE-webtoepassingen. Spring is een open source applicatie framework. Enige tijd na de introductie van Spring-framework voegden de ontwikkelaars een MVC-raamwerk toe aan het lentekader, in de hoop enkele van de beperkingen aan te pakken die ze in Struts merkten. Maar een paar jaar later arriveerde Struts2 (of Struts versie 2) en het was een heel ander en sterk verbeterd framework voor webtoepassingen. Nu worden zowel Struts als Spring MVC erg zwaar gebruikt voor de ontwikkeling van Java EE-toepassingen ter wereld.
Wat is Struts?
Struts (ook bekend als Apache Struts) is een platformonafhankelijk open source framework geschreven in Java, bedoeld voor het ontwikkelen van Java EE webapplicaties. Struts stimuleren het gebruik van MVC (Model-View-Controller) architectuur. Het is een uitbreiding op de Java Servlet API. Craig McClanahan is de originele maker van Struts. Aanvankelijk stond het bekend als Jakaratha Struts en werd onderhouden onder Jakarta Project of Apache Software Foundation. De huidige stabiele release is versie 2.2.3, die werd uitgebracht in mei 2011. Het is vrijgegeven onder Apache License 2.0. Het Struts-raamwerk wordt een op verzoek gebaseerd raamwerk genoemd en bestaat uit drie hoofdcomponenten: een behandelaanvraagder, een responshandler en een tagbibliotheek. Standaard URI (Uniform Resource Identifier) wordt toegewezen aan een verzoekbehandelaar. Responsbehandelaar is verantwoordelijk voor het overdragen van de besturing. Om interactieve applicaties met formulieren te maken, kunnen de functies worden gebruikt die worden aangeboden door de tagbibliotheek. Struts ondersteunen REST-applicaties en verschillende technologieën zoals SOAP, AJAX, enz.
Wat is Spring MVC?
Spring is een open source applicatie framework. Het werd ontwikkeld door Rod Johnson, en de eerste versie werd uitgebracht in 2004. Lente 3.0.5 is de huidige versie van het lentekader. Het is gelicentieerd onder de Apache 2.0-licentie. Elke Java-toepassing kan de kernfuncties van het lentekader gebruiken. Er zijn verschillende modules in het lentekader en MVC is daar een van. Het Spring MVC-framework maakte geen deel uit van hun oorspronkelijke plan. De reden dat Spring-ontwikkelaars met hun eigen MVC-raamwerk kwamen, was feitelijk om oplossingen te bieden voor wat zij als tekortkomingen in de Struts (versie 1) en andere vergelijkbare frameworks hebben getoond. In het bijzonder zeiden ze dat ze het gebrek aan scheiding tussen de presentatielaag, de verzoekverwerkingslaag en het model wilden aanpakken. Spring MVC is ook een op verzoeken gebaseerd framework voor webtoepassingen.
Wat is het verschil tussen Struts en Spring MVC?
Hoewel Spring MVC en Struts twee populaire webapplicatiekaders zijn die worden gebruikt voor het ontwikkelen van Java EE-webtoepassingen, hebben ze hun verschillen. In feite is Spring MVC ontwikkeld om enkele beperkingen in Struts aan te pakken (versie 1). Maar Struts2 is een sterk verbeterd raamwerk dan versie 1 (ze delen niet eens dezelfde codebasis) en daarom zijn de Spring MVC en Structs2 in hoge mate vergelijkbaar.
Een van de belangrijkste voordelen van Spring MVC is dat het mogelijk is om een naadloze integratie te hebben met veel weergaveopties, zoals JSP / JSTL, Tiles, FreeMaker, Excel, PDF en JSON. Maar in tegenstelling tot Struts biedt Spring MVC geen ingebouwde AJAX-ondersteuning (moet AJAX-bibliotheek van derden gebruiken).
Uiteindelijk worden ze allebei beschouwd als zeer volwassen kaders, en het kiezen tussen beide komt neer op de persoonlijke voorkeur. Het is belangrijk om hier op te merken dat als er negatieve gevoelens zijn ten aanzien van stutten, deze alleen te wijten zijn aan de tekortkomingen die zijn aangetroffen in Struts versie 1 (die nu als verouderd wordt beschouwd).