Balsti pret struts2
Struts (pazīstams arī kā Apache Struts vai Struts 1) ir Java platformas rakstīts starpplatformu atvērtā koda ietvars, kas paredzēts Java EE tīmekļa lietojumprogrammu izstrādei. Tas bija viens no sākotnējiem Java EE tīmekļa lietojumprogrammu ietvariem. Bet dažus gadus vēlāk ieradās Struts2 (vai Struts 2. versija), un tā bija pilnīgi atšķirīga un ļoti uzlabota tīmekļa lietojumprogrammu sistēma. Tajā bija apskatīti daži jautājumi, kurus sākotnējā versijā uzskatīja par nepilnībām. Tagad Struts2 tiek ļoti intensīvi izmantots Java EE lietojumprogrammu izstrādei pasaulē.
Kas ir balsts?
Struts (Struts 1) ietvars bija viens no sākotnējiem tīmekļa lietojumprogrammu ietvariem Java EE tīmekļa lietojumprogrammu izstrādei. Statņu ietvars mudina izmantot MVC (Model-View-Controller) arhitektūru. Tas ir Java Servlet API paplašinājums. Kreigs Maklanahāns ir sākotnējais Struts veidotājs. Sākotnēji tas bija pazīstams kā Jakaratha Struts, un to uzturēja Apache Software Foundation Džakarta projektā. Tas tiek izlaists saskaņā ar Apache License 2.0. Struts ietvaru sauc par uz pieprasījumiem balstītu ietvaru, un to veido trīs galvenie komponenti: pieprasījuma apstrādātājs, atbildes apstrādātājs un tagu bibliotēka. Standarta URI (vienotais resursa identifikators) tiek kartēts pieprasījuma apstrādātājam. Par kontroles nodošanu ir atbildīgs atbildētājs. Lai izveidotu interaktīvas lietojumprogrammas ar formām, var izmantot tagu bibliotēkas piedāvātās iespējas. Statņi atbalsta REST lietojumprogrammas un dažādas tehnoloģijas, piemēram, SOAP, AJAX utt.
Kas ir Struts2?
Tika uzskatīts, ka tajā laikā Java EE izstrādātāji saturēja dažus ierobežojumus (galvenokārt tas, ka nebija nodalīšanas starp prezentācijas slāni, pieprasījuma apstrādes slāni un modeli), un pēc tam dažus gadus vēlāk ieradās Struts2. Patiesībā Struts2 bija pilnīgi atšķirīgs no Struts. Patiesībā viņiem pat nebija vienas un tās pašas kodu bāzes, jo Struts2 bija vienkārši WebWork 2.2 ietvara pārdēvēšanas rezultāts (t.i., WebWork un Struts kopienas, kuras kādu laiku strādāja atsevišķi, galu galā sadevās rokās, lai nākt klajā ar Struts2). Tā pašreizējā stabilā versija ir versija 2.2.3, kas tika izlaista 2011. gada maijā.
Kāda ir atšķirība starp statņiem un statņiem2?
Viena no daudzajām Struts ietvara problēmām bija vajadzība programmēt abstraktām klasēm nevis saskarnēm. To atrisināja ar Struts2 sistēmu. Piemēram, Struts satvarā vajadzēja Action klases pagarināt no abstraktajām bāzes klasēm, bet Struts2 Actions var ieviest Action interfeisu. Divu pavedienu modeļa atšķirību dēļ starp divām versijām diegu drošības jautājumi, kas parādījās Struts satvarā attiecībā uz Action objektiem, Struts2 sistēmā nerodas. Iemesls ir Struts2 Darbības objekti tiek aktualizēti katram pieprasījumam, savukārt darbībai Struts ietvarā ir tikai viens gadījums, lai apstrādātu visus šīs darbības pieprasījumus. Atšķirībā no darbībām pamatprogrammā Struts2 darbības nav atkarīgas no Serversīklietotnes API.
Struts2 karkasa testējamība ir salīdzinoši augstāka nekā Struts karkasa. Jūs varat pārbaudīt Struts2 darbības, vienkārši veicot trīs darbības: tūlītēju iestatīšanu, iestatīšanas rekvizītus un metožu piesaisti. Ievades novākšana ir vienkāršāka sistēmā Struts2, jo darbības īpašības tiek izmantotas kā ievades īpašības, neglabājot otru ievades objektu. Papildus JSTL integrācijas atbalstam (kas atrodas Struts), Struts2 satvarā var izmantot jaudīgāku un izteiksmīgāku OGNL (Object Graph Notation Language). Tipa konvertēšanai Strut un Strut2 izmanto attiecīgi Commons-Beanutils un OGNL. Šo uzlabojumu dēļ Struts2 ietvars tiek uzskatīts par ļoti nobriedušu ietvaru, un tas ir ļoti populārs Java EE programmētāju vidū. No otras puses, Struts ietvars tagad tiek uzskatīts par novecojušu.