Struts vs Spring MVC
Struts framework er en av de innledende rammene for webapplikasjoner for utvikling av Java EE-webapplikasjoner. Våren er et open source-applikasjonsrammeverk. En stund etter innføringen av Spring framework, la utviklerne et MVC-rammeverk til Spring-rammeverket, i håp om å ta tak i noen av begrensningene de oppfattet i Struts. Men få år senere ankom Struts2 (eller Struts versjon 2), og det var et helt annet og forbedret rammeverk for webapplikasjoner. Nå brukes både Struts og Spring MVC veldig tungt for å utvikle Java EE-applikasjoner i verden.
Hva er Struts?
Struts (også kjent som Apache Struts) er et åpen kildekode-rammeverk på tvers av plattformer skrevet i Java, som er ment for utvikling av Java EE-webapplikasjoner. Struts oppmuntrer til bruk av MVC (Model-View-Controller) arkitektur. Det er en utvidelse av Java Servlet API. Craig McClanahan er den opprinnelige skaperen av Struts. Opprinnelig var det kjent som Jakaratha Struts, og ble opprettholdt under Jakarta Project of Apache Software Foundation. Den nåværende stabile utgivelsen er versjon 2.2.3, som ble utgitt i mai 2011. Den er utgitt under Apache License 2.0. Struts framework kalles et forespørselsbasert rammeverk, og det består av tre hovedkomponenter: en forespørselsbehandler, en svarbehandler og et tagbibliotek. Standard URI (Uniform Resource Identifier) tilordnes til en forespørselsbehandler. Responsbehandler er ansvarlig for overføring av kontroll. For å lage interaktive applikasjoner med skjemaer, kan funksjonene som tilbys av tagbiblioteket brukes. Struts støtter REST-applikasjoner og forskjellige teknologier som SOAP, AJAX, etc.
Hva er Spring MVC?
Våren er et open source applikasjonsrammeverk. Den ble utviklet av Rod Johnson,, og den første versjonen ble utgitt i 2004. Spring 3.0.5 er den nåværende versjonen av Spring framework. Den er lisensiert under Apache 2.0-lisens. Ethvert Java-program kan bruke kjernefunksjonene i Spring framework. Det er flere moduler i Spring framework, og MVC er en av dem. Spring MVC-rammeverket var ikke en del av deres opprinnelige plan. Faktisk var årsaken til at Spring-utviklere kom med sitt eget MVC-rammeverk for å gi løsninger på det de viste som mangler i Struts (versjon 1) og andre lignende rammer. Spesielt sa de at de ønsket å løse mangelen på skille mellom presentasjonslaget, forespørselshåndteringslaget og modellen. Spring MVC er også et forespørselsbasert rammeverk for nettapplikasjoner.
Hva er forskjellen mellom Struts og Spring MVC?
Selv om Spring MVC og Struts er to populære rammer for webapplikasjoner som brukes til å utvikle Java EE-webapplikasjoner, har de forskjellene. Faktisk ble Spring MVC utviklet for å imøtekomme få begrensninger i Struts (versjon 1). Men Struts2 er et svært forbedret rammeverk enn versjon 1 (de deler ikke en gang den samme kodebasen), og derfor er Spring MVC og Structs2 svært sammenlignbare.
En av hovedfordelene med Spring MVC er at det er mulig å ha sømløs integrasjon med mange visningsalternativer som JSP / JSTL, Tiles, FreeMaker, Excel, PDF og JSON. Men i motsetning til Struts, tilbyr ikke Spring MVC innebygd AJAX-støtte (trenger å bruke tredjeparts AJAX-bibliotek).
Til syvende og sist blir begge ansett som svært modne rammer, og valg mellom de to kommer ned til den personlige preferansen. Det er viktig å merke seg her at hvis det er noen negative følelser overfor stivere, skyldes de bare manglene som ble funnet i Struts versjon 1 (som nå regnes som foreldet).