Struts vs Spring MVC
Struts Framework er en av de første webapplikasjonene for utvikling av Java EE web applikasjoner. Våren er et rammeverk for åpen kildekode. Noen ganger etter introduksjonen av vårrammen bygde utviklerne et MVC-rammeverk til vårrammen, i håp om å takle noen av de begrensningene de oppfattet i Struts. Men noen år senere kom Struts2 (eller Struts versjon 2), og det var helt annerledes og forbedret webapplikasjonsramme. 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 en åpen plattform for åpen kildekode skrevet i Java, som er beregnet på å utvikle Java EE webapplikasjoner. Struts oppfordrer bruken av MVC (Model-View-Controller) arkitektur. Det er en forlengelse av Java Servlet API. Craig McClanahan er den opprinnelige skaperen av Struts. Det var i utgangspunktet kjent som Jakaratha Struts, og ble opprettholdt under Jakarta Project of Apache Software Foundation. Den nåværende stabile versjonen er versjon 2.2.3, som ble utgitt i mai 2011. Den er utgitt under Apache License 2.0. Struts-rammen kalles en forespørselsbasert rammeverk, og består av tre hovedkomponenter: en forespørselshåndterer, en responsbehandler og et tagbibliotek. Standard URI (Uniform Resource Identifier) er kartlagt til en forespørselsbehandler. Response Handler er ansvarlig for overføring av kontroll. For å lage interaktive applikasjoner med skjemaer, kan funksjonene som tilbys av tagbiblioteket benyttes. Struts støtter REST applikasjoner og ulike teknologier som SOAP, AJAX, etc..
Hva er våren MVC?
Våren er et rammeverk for åpen kildekode. Den ble utviklet av Rod Johnson ,, og den første versjonen ble utgitt i 2004. Vår 3.0.5 er den nåværende versjonen av vårrammen. Den er lisensiert under Apache 2.0-lisens. Enhver Java-applikasjon kan bruke kjernegenskapene til vårrammen. Det er flere moduler i vårrammen, og MVC er en av dem. Våren MVC rammeverket var ikke en del av sin opprinnelige plan. Faktisk var årsaken til at vårutviklerne kom opp med sitt eget MVC-rammeverk å gi løsninger på hva de viste som mangler i Struts (versjon 1) og andre lignende rammer. Spesielt sa de at de ønsket å takle mangelen på separasjon mellom presentasjonslaget, be om håndteringslag og modellen. Våren MVC er også en forespørselsbasert webapplikasjonsramme.
Hva er forskjellen mellom Struts og Spring MVC?
Selv om Spring MVC og Struts er to populære webapplikasjonsrammer som brukes til å utvikle Java EE webprogrammer, har de forskjeller. Faktisk ble Spring MVC utviklet for å håndtere noen begrensninger i Struts (versjon 1). Men Struts2 er et svært forbedret rammeverk enn versjon 1 (de deler ikke en gang samme kodebase), og derfor er Spring MVC og Structs2 svært sammenlignbare.
En av fordelene ved Spring MVC er at det er mulig å få sømløs integrering med mange visningsalternativer som JSP / JSTL, Tiles, FreeMaker, Excel, PDF og JSON. Men i motsetning til Struts gir Spring MVC ikke innebygd AJAX-støtte (trenger å bruke tredjeparts AJAX-bibliotek).
Til syvende og sist blir begge betraktet som meget modne rammer, og valg mellom de to kommer ned til personlig preferanse. Det er viktig å merke seg at hvis det er negative følelser mot stiver, skyldes de bare de manglene som ble funnet i Struts versjon 1 (som nå anses for foreldet).