Skillnaden mellan fjäderben och fjäderben2

Skillnaden mellan fjäderben och fjäderben2
Skillnaden mellan fjäderben och fjäderben2

Video: Skillnaden mellan fjäderben och fjäderben2

Video: Skillnaden mellan fjäderben och fjäderben2
Video: Storage vs. Memory: What's the Difference? 2024, November
Anonim

Struts vs Struts2

Struts (även känd som Apache Struts eller Struts 1) är ett plattformsoberoende ramverk med öppen källkod skrivet i Java, som är avsett för utveckling av Java EE-webbapplikationer. Det var ett av de första Java EE-webbapplikationsramarna. Men några år senare kom Struts2 (eller Struts version 2) och det var ett helt annat och mycket förbättrat ramverk för webbapplikationer. Den hade tagit upp få frågor som uppfattades som brister i den ursprungliga versionen. Nu används Struts2 mycket hårt för att utveckla Java EE-applikationer i världen.

Vad är Struts?

Struts (Struts 1) ramverk var ett av de första webbapplikationsramverken för att utveckla Java EE-webbapplikationer. Struts ramverk uppmuntrar användningen av MVC-arkitektur (Model-View-Controller). Det är en förlängning av Java Servlet API. Craig McClanahan är den ursprungliga skaparen av Struts. Från början var det känt som Jakaratha Struts och upprätthölls under Jakarta Project of Apache Software Foundation. Den släpps under Apache License 2.0. Struts ramverk kallas ett förfrågningsbaserat ramverk, och det består av tre huvudkomponenter: en begäranhanterare, en svarshanterare och ett taggbibliotek. Standard URI (Uniform Resource Identifier) mappas till en begäranhanterare. Responsansvarig ansvarar för att överföra kontroll. För att skapa interaktiva applikationer med formulär kan de funktioner som erbjuds av taggbiblioteket användas. Struts stöder REST-applikationer och olika teknologier som SOAP, AJAX, etc.

Vad är Struts2?

Struts ramverk uppfattades innehålla vissa begränsningar (främst avsaknaden av separation mellan presentationslagret, förfrågningshanteringslagret och modellen) av Java EE-utvecklarna vid den tiden, och följaktligen några år senare kom Struts2. Egentligen var Struts2 helt annorlunda än Struts. Faktum är att de inte ens delade samma kodbas eftersom Struts2 helt enkelt var resultatet av att döpa om WebWork 2.2-ramverket (dvs. WebWork- och Struts-gemenskaper som arbetade separat under en tid gick slutligen ihop för att komma på Struts2). Dess nuvarande stabila utgåva är version 2.2.3, som släpptes i maj 2011.

Vad är skillnaden mellan Struts och Struts2?

Ett av de många problemen med Struts ramverk var behovet av programmering för att abstrakta klasser istället för gränssnitt. Detta löstes av Struts2 ramverk. Till exempel krävde Struts ramverk att Action-klasser utökades från de abstrakta basklasserna, men Struts2 Actions kan implementera ett Action-gränssnitt. På grund av skillnaderna i trådningsmodellen mellan de två versionerna förekommer inte trådsäkerhetsproblem som kom upp i Struts ramverk angående Action objekt i Struts2 ramverk. Anledningen är att Struts2 Action-objekt instansieras för varje begäran, medan ett Action in Struts-ramverk endast har en instans för att hantera alla förfrågningar för den åtgärden. Till skillnad från Actions in Struts-ramverket är Struts2 Actions inte beroende av Servlet API.

Testbarheten för Struts2-ramverket är jämförelsevis högre än Struts-ramverket. Du kan testa Struts2 Actions helt enkelt genom att följa de tre stegen: instansiering, inställning av egenskaper och anrop av metoder. Att skörda indata är lättare i Struts2-ramverket eftersom Action-egenskaper används som input-egenskaper, utan att behöva behålla ett andra indataobjekt. Förutom stödet för JSTL-integration (som finns i Struts), kan Struts2-ramverket använda mer kraftfulla och uttrycksfulla OGNL (Object Graph Notation Language). För typkonvertering använder Strut och Strut2 Commons-Beanutils respektive OGNL. På grund av dessa förbättringar anses Struts2-ramverket vara ett mycket mogen ramverk och det är mycket populärt bland Java EE-programmerare. Å andra sidan anses Struts ramverk nu vara föråldrat.

Rekommenderad: