Struts vs Spring MVC
Struts-rammeverket er et av de første nettapplikasjonsrammene for utvikling av Java EE-nettapplikasjoner. Spring er et rammeverk for åpen kildekode. En tid etter introduksjonen av Spring-rammeverket la utviklerne til et MVC-rammeverk til Spring-rammeverket, i håp om å adressere noen av begrensningene de oppfattet i Struts. Men noen år senere kom Struts2 (eller Struts versjon 2), og det var et helt annet og sterkt forbedret nettapplikasjonsrammeverk. Nå brukes både Struts og Spring MVC veldig mye 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-nettapplikasjoner. Struts oppmuntrer til bruk av MVC-arkitektur (Model-View-Controller). 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-rammeverket kalles et forespørselsbasert rammeverk, og det består av tre hovedkomponenter: en forespørselsbehandler, en responsbehandler og et tag-bibliotek. Standard URI (Uniform Resource Identifier) er tilordnet en forespørselsbehandler. Responsbehandler er ansvarlig for å overføre kontroll. For å lage interaktive applikasjoner med skjemaer, kan funksjonene som tilbys av tag-biblioteket brukes. Struts støtter REST-applikasjoner og ulike teknologier som SOAP, AJAX, etc.
Hva er Spring MVC?
Spring er et rammeverk for åpen kildekode. Den ble utviklet av Rod Johnson,, og den første versjonen ble utgitt i 2004. Spring 3.0.5 er den gjeldende versjonen av Spring-rammeverket. Den er lisensiert under Apache 2.0-lisens. Enhver Java-applikasjon kan bruke kjernefunksjonene i Spring-rammeverket. 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 grunnen til at Spring-utviklere kom opp med sitt eget MVC-rammeverk for å gi løsninger på det de viste som mangler i Struts (versjon 1) og andre lignende rammeverk. Spesielt sa de at de ønsket å adressere mangelen på skille mellom presentasjonslaget, forespørselshåndteringslaget og modellen. Spring MVC er også et forespørselsbasert nettapplikasjonsrammeverk.
Hva er forskjellen mellom Struts og Spring MVC?
Selv om Spring MVC og Struts er to populære nettapplikasjonsrammeverk som brukes til å utvikle Java EE-webapplikasjoner, har de sine forskjeller. Faktisk ble Spring MVC utviklet for å håndtere noen få begrensninger i Struts (versjon 1). Men Struts2 er et sterkt forbedret rammeverk enn versjon 1 (de deler ikke engang samme kodebase), 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 visnings alternativer som JSP/JSTL, Tiles, FreeMaker, Excel, PDF og JSON. Men, i motsetning til Struts, gir ikke Spring MVC innebygd AJAX-støtte (trenger å bruke tredjeparts AJAX-bibliotek).
Til syvende og sist betraktes begge som svært modne rammeverk, og valget mellom de to kommer ned til personlig preferanse. Det er viktig å merke seg her at hvis det er noen negative følelser overfor struts, skyldes de kun manglene som ble funnet i Struts versjon 1 (som nå anses som foreldet).