Verskil tussen stutte en stutte2

Verskil tussen stutte en stutte2
Verskil tussen stutte en stutte2

Video: Verskil tussen stutte en stutte2

Video: Verskil tussen stutte en stutte2
Video: Het verschil tussen RAM geheugen en opslaggeheugen 2024, November
Anonim

Struts vs Struts2

Struts (ook bekend as Apache Struts of Struts 1) is 'n kruisplatform oopbronraamwerk geskryf in Java, wat bedoel is vir die ontwikkeling van Java EE-webtoepassings. Dit was een van die aanvanklike Java EE-webtoepassingsraamwerke. Maar 'n paar jaar later het Struts2 (of Struts weergawe 2) aangekom, en dit was 'n heeltemal ander en hoogs verbeterde webtoepassingsraamwerk. Dit het min kwessies aangespreek wat as tekortkominge in die aanvanklike weergawe beskou is. Nou word Struts2 baie swaar gebruik vir die ontwikkeling van Java EE-toepassings in die wêreld.

Wat is Struts?

Struts (Struts 1)-raamwerk was een van die aanvanklike webtoepassingsraamwerke vir die ontwikkeling van Java EE-webtoepassings. Struts-raamwerk moedig die gebruik van MVC (Model-View-Controller)-argitektuur aan. Dit is 'n uitbreiding van Java Servlet API. Craig McClanahan is die oorspronklike skepper van Struts. Aanvanklik was dit bekend as Jakaratha Struts en is onderhou onder Jakarta Project van Apache Software Foundation. Dit word vrygestel onder Apache-lisensie 2.0. Struts-raamwerk word 'n versoekgebaseerde raamwerk genoem, en dit bestaan uit drie hoofkomponente: 'n versoekhanteerder, 'n reaksiehanteerder en 'n merkerbiblioteek. Standaard-URI (Uniform Resource Identifier) word na 'n versoekhanteerder gekarteer. Reaksiehanteerder is verantwoordelik vir die oordrag van beheer. Om interaktiewe toepassings met vorms te skep, kan die kenmerke wat deur die merkerbiblioteek aangebied word, gebruik word. Stutte ondersteun REST-toepassings en verskeie tegnologieë soos SOAP, AJAX, ens.

Wat is Struts2?

Struts-raamwerk is op daardie tydstip deur die Java EE-ontwikkelaars beskou as sekere beperkings (hoofsaaklik die gebrek aan skeiding tussen die aanbiedingslaag, versoekhanteringslaag en die model), en gevolglik 'n paar jaar later het Struts2 opgedaag. Eintlik was Struts2 heeltemal anders as Struts. Trouens, hulle het nie eens dieselfde kodebasis gedeel nie, want Struts2 was bloot die gevolg van die hernoeming van die WebWork 2.2-raamwerk (dit wil sê WebWork- en Struts-gemeenskappe wat vir 'n geruime tyd afsonderlik gewerk het, het uiteindelik hande gevat om met Struts2 vorendag te kom). Die huidige stabiele vrystelling daarvan is weergawe 2.2.3, wat in Mei 2011 vrygestel is.

Wat is die verskil tussen Struts en Struts2?

Een van die vele probleme van Struts-raamwerk was die behoefte aan programmering om klasse te abstraheer in plaas van koppelvlakke. Dit is opgelos deur Struts2-raamwerk. Byvoorbeeld, Struts-raamwerk het vereis dat Aksieklasse vanaf die abstrakte basisklasse uitgebrei word, maar Struts2 Actions kan 'n Aksie-koppelvlak implementeer. As gevolg van die verskille in die inrygmodel tussen die twee weergawes, kom draadveiligheidskwessies wat in Struts-raamwerk met betrekking tot Aksie-voorwerpe ter sprake gekom het nie in Struts2-raamwerk voor nie. Die rede is dat Struts2 Aksie-objekte vir elke versoek geïnstantieer word, terwyl 'n Aksie in Struts-raamwerk slegs een geval het om alle versoeke vir daardie Aksie te hanteer. Anders as die Actions in Struts-raamwerk, is Struts2 Actions nie afhanklik van die Servlet API nie.

Toetsbaarheid van Struts2-raamwerk is betreklik hoër as Struts-raamwerk. Jy kan Struts2 Actions toets bloot deur die drie stappe te volg: instansiasie, instelling van eienskappe en aanroep van metodes. Oes van insette is makliker in Struts2-raamwerk aangesien Aksie-eienskappe as invoer-eienskappe gebruik word, sonder om 'n tweede insetvoorwerp te behou. Afgesien van die ondersteuning vir JSTL-integrasie (wat in Struts teenwoordig is), kan Struts2-raamwerk kragtiger en ekspressiewe OGNL (Object Graph Notation Language) gebruik. Vir tipe omskakeling gebruik Strut en Strut2 onderskeidelik Commons-Beanutils en OGNL. As gevolg van hierdie verbeterings word Struts2-raamwerk as 'n hoogs volwasse raamwerk beskou en dit is baie gewild onder Java EE-programmeerders. Aan die ander kant word Struts-raamwerk nou as uitgedien beskou.

Aanbeveel: