Rozdiel Medzi Vzperami A Vzperami

Rozdiel Medzi Vzperami A Vzperami
Rozdiel Medzi Vzperami A Vzperami
Anonim

Struts vs Struts2

Struts (tiež známy ako Apache Struts alebo Struts 1) je multiplatformový open source rámec napísaný v prostredí Java, ktorý je určený na vývoj webových aplikácií Java EE. Bol to jeden z počiatočných rámcov webových aplikácií Java EE. Ale o pár rokov neskôr dorazila Struts2 (alebo Struts verzia 2) a bol to úplne iný a vysoko vylepšený rámec webových aplikácií. Riešil niekoľko problémov, ktoré sa v pôvodnej verzii považovali za nedostatky. Teraz sa Struts2 vo veľkej miere používa na vývoj aplikácií Java EE vo svete.

Čo je to Struts?

Rámec Struts (Struts 1) bol jedným z počiatočných rámcov webových aplikácií pre vývoj webových aplikácií Java EE. Rámec Struts podporuje použitie architektúry MVC (Model-View-Controller). Je rozšírením rozhrania Java Servlet API. Craig McClanahan je pôvodným tvorcom Struts. Spočiatku to bolo známe ako Jakaratha Struts a bolo udržiavané v rámci Jakartského projektu Apache Software Foundation. Je vydaný pod licenciou Apache License 2.0. Rámec Struts sa nazýva framework založený na požiadavkách a je zložený z troch hlavných komponentov: obslužný program požiadaviek, obslužný program odpovedí a knižnica značiek. Štandardný identifikátor URI (Uniform Resource Identifier) je namapovaný na obsluhu žiadosti. Za odovzdanie kontroly je zodpovedný obsluha odpovede. Na vytváranie interaktívnych aplikácií s formulármi možno využiť funkcie ponúkané knižnicou značiek. Vzpery podporujú aplikácie REST a rôzne technológie ako SOAP, AJAX atď.

Čo je to Struts2?

Rámec Struts bol v tom čase vnímaný tak, že obsahuje určité obmedzenia (hlavne chýbajúce oddelenie medzi prezentačnou vrstvou, vrstvou spracovania požiadaviek a modelom) v tom čase vývojármi Java EE a následne o niekoľko rokov neskôr dorazil Struts2. Struts2 bol v skutočnosti úplne iný ako Struts. V skutočnosti ani nezdieľali ten istý kódový základ, pretože Struts2 bol jednoducho výsledkom premenovania rámca WebWork 2.2 (tj. Komunity WebWork a Struts, ktoré istý čas pracovali osobitne, sa nakoniec spojili a prišli s Struts2). Aktuálnym stabilným vydaním je verzia 2.2.3, ktorá bola vydaná v máji 2011.

Aký je rozdiel medzi Struts a Struts2?

Jedným z mnohých problémov rámca Struts bola potreba programovania abstraktných tried namiesto rozhraní. To vyriešil rámec Struts2. Napríklad rámec Struts vyžadoval rozšírenie tried Action z abstraktných základných tried, ale Struts2 Actions môže implementovať rozhranie Action. Kvôli rozdielom v modeli vlákien medzi týmito dvoma verziami sa v rámci Struts2 nevyskytujú problémy s bezpečnosťou vlákien, ktoré sa objavili v rámci Struts, pokiaľ ide o objekty Action. Dôvodom je, že objekty akcie Struts2 sú inštancované pre každú požiadavku, zatiaľ čo akcia v rámci Struts má iba jednu inštanciu na spracovanie všetkých požiadaviek na túto akciu. Na rozdiel od rámca Actions in Struts, Struts2 Actions nie sú závislé od Servlet API.

Testovateľnosť rámca Struts2 je porovnateľne vyššia ako v prípade rámca Struts. Struts2 Actions môžete vyskúšať jednoducho podľa troch krokov: vytvorenie inštancie, nastavenie vlastností a vyvolanie metód. Získanie vstupu je v rámci Struts2 jednoduchšie, pretože vlastnosti akcie sa používajú ako vlastnosti vstupu bez toho, aby ste si museli ponechať druhý vstupný objekt. Okrem podpory pre integráciu JSTL (ktorá je súčasťou Struts) môže rámec Struts2 používať výkonnejší a expresívnejší OGNL (Object Graph Notation Language). Na konverziu typov používajú Strut a Strut2 Commons-Beanutils a OGNL. Kvôli týmto vylepšeniam je rámec Struts2 považovaný za veľmi vyspelý rámec a je veľmi obľúbený medzi programátormi Java EE. Na druhej strane sa rámec Struts v súčasnosti považuje za zastaraný.

Odporúčaná: