Atšķirība starp statņiem un statņiem2

Atšķirība starp statņiem un statņiem2
Atšķirība starp statņiem un statņiem2

Video: Atšķirība starp statņiem un statņiem2

Video: Atšķirība starp statņiem un statņiem2
Video: Atmiņas 2024, Jūlijs
Anonim

Struts vs Struts2

Struts (pazīstams arī kā Apache Struts vai Struts 1) ir Java valodā rakstīts starpplatformu atvērtā pirmkoda ietvars, kas paredzēts Java EE tīmekļa lietojumprogrammu izstrādei. Tā bija viena no sākotnējām Java EE tīmekļa lietojumprogrammu sistēmām. Taču dažus gadus vēlāk parādījās Struts2 (vai Struts 2. versija), un tā bija pavisam cita un ļoti uzlabota tīmekļa lietojumprogrammu sistēma. Tajā bija risināti daži jautājumi, kas sākotnējā versijā tika uzskatīti par trūkumiem. Tagad Struts2 tiek ļoti plaši izmantots Java EE lietojumprogrammu izstrādei pasaulē.

Kas ir Struts?

Struts (Struts 1) ietvars bija viens no sākotnējiem tīmekļa lietojumprogrammu ietvariem Java EE tīmekļa lietojumprogrammu izstrādei. Struts ietvars veicina MVC (Model-View-Controller) arhitektūras izmantošanu. Tas ir Java Servlet API paplašinājums. Kreigs Makklanahans ir sākotnējais Struts radītājs. Sākotnēji tas bija pazīstams kā Jakaratha Struts un tika uzturēts Apache Software Foundation Džakartas projektā. Tas ir izlaists saskaņā ar Apache licenci 2.0. Struts ietvaru sauc par uz pieprasījumu balstītu ietvaru, un to veido trīs galvenie komponenti: pieprasījumu apstrādātājs, atbilžu apstrādātājs un tagu bibliotēka. Standarta URI (vienotais resursu identifikators) ir kartēts ar pieprasījumu apstrādātāju. Atbildes apstrādātājs ir atbildīgs par kontroles nodošanu. Lai izveidotu interaktīvas lietojumprogrammas ar veidlapā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?

Java EE izstrādātāji tolaik uzskatīja, ka Struts ietvars satur noteiktus ierobežojumus (galvenokārt atdalīšanas trūkumu starp prezentācijas slāni, pieprasījumu apstrādes slāni un modeli), un tāpēc dažus gadus vēlāk parādījās Struts2. Patiesībā Struts2 bija pilnīgi atšķirīgs no Struts. Patiesībā viņiem pat nebija viena un tā pati koda bāze, jo Struts2 bija vienkārši WebWork 2.2 ietvara pārdēvēšanas rezultāts (t.i., WebWork un Struts kopienas, kas kādu laiku strādāja atsevišķi, galu galā sadevās rokās, lai izstrādātu Struts2). Tā pašreizējais stabilais laidiens ir versija 2.2.3, kas tika izlaista 2011. gada maijā.

Kāda ir atšķirība starp Struts un Struts2?

Viena no daudzajām Struts ietvara problēmām bija nepieciešamība programmēt abstraktās klases, nevis saskarnes. To atrisināja Struts2 framework. Piemēram, Struts ietvars prasīja darbību klases paplašināt no abstraktajām bāzes klasēm, bet Struts2 Actions var ieviest darbības saskarni. Sakarā ar atšķirību pavedienu modelī starp abām versijām, pavedienu drošības problēmas, kas radās Struts ietvarā saistībā ar darbības objektiem, Struts2 sistēmā nerodas. Iemesls ir tāds, ka Struts2 Action objekti tiek instantē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 Actions in Struts ietvara, Struts2 darbības nav atkarīgas no Servlet API.

Struts2 ietvara testējamība ir salīdzinoši augstāka nekā Struts ietvara testējamība. Struts2 Actions var pārbaudīt, vienkārši veicot trīs darbības: inscenēšana, rekvizītu iestatīšana un metožu izsaukšana. Struts2 sistēmā ievades iegūšana ir vienkāršāka, jo darbības rekvizīti tiek izmantoti kā ievades rekvizīti, bez nepieciešamības saglabāt otru ievades objektu. Papildus JSTL integrācijas atbalstam (kas ir pieejams Struts), Struts2 ietvars var izmantot jaudīgāku un izteiksmīgāku OGNL (Object Graph Notation Language). Tipa pārveidoš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 sistēma tagad tiek uzskatīta par novecojušu.

Ieteicams: