Tuet vs. kevään MVC
Struts-kehys on yksi alkuperäisistä web-sovelluskehyksistä Java EE -verkkosovellusten kehittämiseen. Kevät on avoimen lähdekoodin sovelluskehys. Jonkin aikaa kevätkehyksen käyttöönoton jälkeen kehittäjät lisäsivät kevään kehykseen MVC-kehyksen toivoen korjatakseen joitain Strutsissa havaitsemistaan rajoituksista. Mutta muutamaa vuotta myöhemmin, Struts2 (tai Struts-versio 2) saapui, ja se oli täysin erilainen ja erittäin parannettu verkkosovelluskehys. Nyt sekä Strutsia että Spring MVC: tä käytetään erittäin voimakkaasti Java EE -sovellusten kehittämiseen maailmassa.
Mikä on Struts?
Struts (tunnetaan myös nimellä Apache Struts) on Java-kirjoitettu avoimen lähdekoodin kehys, joka on tarkoitettu Java EE -verkkosovellusten kehittämiseen. Tuet tukevat MVC (Model-View-Controller) -arkkitehtuurin käyttöä. Se on Java Servlet API -sovelluksen laajennus. Craig McClanahan on Strutsin alkuperäinen luoja. Alun perin se tunnettiin nimellä Jakaratha Struts, ja sitä ylläpidettiin Apache Software Foundationin Jakarta-projektissa. Sen nykyinen vakaa versio on versio 2.2.3, joka julkaistiin toukokuussa 2011. Se julkaistaan Apache License 2.0 -lisenssillä. Struts-kehystä kutsutaan pyyntöpohjaiseksi kehykseksi, ja se koostuu kolmesta pääkomponentista: pyynnönkäsittelijä, vastauskäsittelijä ja tag-kirjasto. Vakio URI (Uniform Resource Identifier) yhdistetään pyynnönkäsittelijälle. Vastauksenkäsittelijä vastaa valvonnan siirrosta. Luo interaktiivisia sovelluksia lomakkeilla, tag-kirjaston tarjoamia ominaisuuksia voidaan hyödyntää. Tuet tukevat REST-sovelluksia ja erilaisia tekniikoita, kuten SOAP, AJAX jne.
Mikä on Spring MVC?
Kevät on avoimen lähdekoodin sovelluskehys. Sen on kehittänyt Rod Johnson, ja ensimmäinen versio julkaistiin vuonna 2004. Kevät 3.0.5 on kevään kehyksen nykyinen versio. Se on lisensoitu Apache 2.0 -lisenssillä. Mikä tahansa Java-sovellus voi käyttää Spring-kehyksen ydinominaisuuksia. Kevään puitteissa on useita moduuleja, ja MVC on yksi niistä. Kevään MVC-kehys ei ollut osa heidän alkuperäistä suunnitelmaa. Itse asiassa syy siihen, että kevään kehittäjät keksivät oman MVC-kehyksensä, oli tarjota ratkaisuja siihen, mitä he osoittivat puutteina Strutsissa (versio 1) ja muissa vastaavissa puitteissa. Erityisesti he sanoivat haluavansa puuttua esityskerroksen, pyyntöjen käsittelykerroksen ja mallin välisestä erottelusta. Kevään MVC on myös pyyntöpohjainen verkkosovelluskehys.
Mikä on ero Strutsin ja Spring MVC: n välillä??
Vaikka Spring MVC ja Struts ovat kaksi suosittua verkkosovelluskehystä, jota käytetään Java EE -verkkosovellusten kehittämiseen, niillä on erot. Itse asiassa Spring MVC kehitettiin vastaamaan muutamia rajoituksia tukijärjestelmissä (versio 1). Mutta Struts2 on erittäin parannettu kehys kuin versio 1 (heillä ei ole edes samaa koodipohjaa), ja siksi Spring MVC ja Structs2 ovat erittäin vertailukelpoisia.
Yksi kevään MVC: n tärkeimmistä eduista on, että on mahdollista integroida saumattomasti moniin näkymävaihtoehtoihin, kuten JSP / JSTL, laatat, FreeMaker, Excel, PDF ja JSON. Mutta toisin kuin Struts, Spring MVC ei tarjoa sisäänrakennettua AJAX-tukea (on käytettävä kolmannen osapuolen AJAX-kirjastoa).
Viime kädessä molempia pidetään erittäin kypsinä viitekehyksinä, ja valinta näiden kahden välillä kuuluu henkilökohtaiseen mieltymykseen. Tässä yhteydessä on tärkeää huomata, että jos tuen suhteen on kielteisiä tunteita, ne johtuvat vain Struts-version 1 (jota nykyään pidetään vanhentuneena) havaituista puutteista..