Struts vs pavasara MVC
Struts ietvars ir viens no sākotnējiem tīmekļa lietojumprogrammu ietvariem Java EE tīmekļa lietojumprogrammu izstrādei. Pavasaris ir atvērtā pirmkoda lietojumprogrammu ietvars. Kādu laiku pēc pavasara ietvara ieviešanas izstrādātāji pavasara ietvaram pievienoja MVC ietvaru, cerot novērst dažus ierobežojumus, ko viņi uztvēra Struts. Bet dažus gadus vēlāk ieradās Struts2 (vai Struts 2. versija), un tas bija pilnīgi atšķirīgs un ļoti uzlabots tīmekļa lietojumprogrammu ietvars. Tagad gan Struts, gan Spring MVC tiek ļoti izmantoti Java EE lietojumprogrammu izstrādei pasaulē.
Kas ir Struts?
Struts (pazīstams arī kā Apache Struts) ir starpplatformu Java atvērtā koda ietvars, kas paredzēts Java EE tīmekļa lietojumprogrammu izstrādei. Struts mudina izmantot MVC (Model-View-Controller) arhitektūru. Tas ir Java Servlet API paplašinājums. Kreigs Makklanahans ir sākotnējais Struts veidotājs. Sākotnēji tas bija pazīstams kā Jakaratha Struts, un tas tika uzturēts Apache Software Foundation Džakartas projektā. Tā pašreizējā stabilā versija ir versija 2.2.3, kas tika izlaista 2011. gada maijā. Tā tiek izlaista ar Apache License 2.0. Struts sistēmu sauc par pieprasījumu balstītu sistēmu, 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) tiek piesaistīts pieprasījumu apstrādātājam. Atbildes apstrādātājs ir atbildīgs par vadības nodošanu. Lai izveidotu interaktīvas lietojumprogrammas ar veidlapām, var izmantot tagu bibliotēkas piedāvātās funkcijas. Struts atbalsta REST lietojumprogrammas un dažādas tehnoloģijas, piemēram, SOAP, AJAX utt.
Kas ir pavasara MVC?
Pavasaris ir atvērtā pirmkoda lietojumprogrammu ietvars. To izstrādāja Rods Džonsons, un pirmā versija tika izlaista 2004. gada pavasarī. 3.0.5 ir pašreizējā pavasara ietvara versija. Tas ir licencēts ar Apache 2.0 licenci. Jebkura Java lietojumprogramma var izmantot Spring ietvara galvenās funkcijas. Pavasara ietvaros ir vairāki moduļi, un MVC ir viens no tiem. Pavasara MVC ietvars nebija viņu sākotnējā plāna sastāvdaļa. Faktiski iemesls, kāpēc Spring izstrādātāji nāca klajā ar savu MVC sistēmu, bija sniegt risinājumus tam, ko viņi parādīja kā trūkumus Struts (1. versija) un citās līdzīgās sistēmās. Jo īpaši viņi teica, ka vēlas novērst atdalīšanas trūkumu starp prezentācijas slāni, pieprasījumu apstrādes slāni un modeli. Pavasara MVC ir arī uz pieprasījumiem balstīta tīmekļa lietojumprogrammu sistēma.
Kāda ir atšķirība starp Struts un Spring MVC?
Lai gan pavasara MVC un Struts ir divi populāri tīmekļa lietojumprogrammu ietvari, kurus izmanto Java EE tīmekļa lietojumprogrammu izstrādei, viņiem ir atšķirības. Faktiski Spring MVC tika izstrādāts, lai novērstu dažus ierobežojumus Struts (1. versija). Bet Struts2 ir ļoti uzlabots ietvars nekā 1. versija (tiem pat nav tādas pašas kodu bāzes), un tāpēc pavasara MVC un Structs2 ir ļoti salīdzināmi.
Viena no Spring MVC galvenajām priekšrocībām ir tā, ka ir iespējams bez grūtībām integrēt daudzas skata iespējas, piemēram, JSP / JSTL, Flīzes, FreeMaker, Excel, PDF un JSON. Bet, atšķirībā no Struts, Spring MVC nenodrošina iebūvētu AJAX atbalstu (jāizmanto trešās puses AJAX bibliotēka).
Galu galā abi tiek uzskatīti par ļoti nobriedušiem ietvariem, un izvēle starp abiem ir atkarīga no personīgās izvēles. Šeit ir svarīgi atzīmēt, ka, ja ir kādas negatīvas izjūtas pret statņiem, tās ir saistītas tikai ar trūkumiem, kas tika atrasti Struts 1. versijā (kas tagad tiek uzskatīta par novecojušu).