Struts və Spring MVC Arasındakı Fərq

Struts və Spring MVC Arasındakı Fərq
Struts və Spring MVC Arasındakı Fərq

Video: Struts və Spring MVC Arasındakı Fərq

Video: Struts və Spring MVC Arasındakı Fərq
Video: Linux-da kök fayl sistemləri və standart kataloqlar 2024, Noyabr
Anonim

Struts vs Spring MVC

Struts çərçivəsi Java EE veb proqramlarının hazırlanması üçün ilkin veb proqram çərçivələrindən biridir. Spring açıq mənbə proqram çərçivəsidir. Bahar çərçivəsinin tətbiqindən bir müddət sonra tərtibatçılar Struts-da qəbul etdikləri bəzi məhdudiyyətləri aradan qaldırmaq ümidi ilə Spring çərçivəsinə MVC çərçivəsini əlavə etdilər. Lakin bir neçə il sonra Struts2 (və ya Struts versiyası 2) gəldi və bu, tamamilə fərqli və yüksək dərəcədə təkmilləşdirilmiş veb proqram çərçivəsi idi. İndi həm Struts, həm də Spring MVC dünyada Java EE proqramlarının hazırlanması üçün çox istifadə olunur.

Struts nədir?

Struts (həmçinin Apache Struts kimi tanınır) Java-da yazılmış, Java EE veb proqramlarının hazırlanması üçün nəzərdə tutulmuş çarpaz platforma açıq mənbə çərçivəsidir. Struts MVC (Model-View-Controller) arxitekturasının istifadəsini təşviq edir. Bu Java Servlet API-nin genişləndirilməsidir. Craig McClanahan Struts-un orijinal yaradıcısıdır. Əvvəlcə Cakaratha Struts kimi tanınırdı və Apache Software Foundation-ın Cakarta Layihəsi çərçivəsində saxlanılırdı. Onun hazırkı stabil buraxılışı 2011-ci ilin may ayında buraxılmış 2.2.3 versiyasıdır. O, Apache License 2.0 altında buraxılır. Struts çərçivəsi sorğuya əsaslanan çərçivə adlanır və o, üç əsas komponentdən ibarətdir: sorğu işləyicisi, cavab işləyicisi və etiket kitabxanası. Standart URI (Vahid Resurs İdentifikatoru) sorğu işləyicisi ilə əlaqələndirilir. Cavab işləyicisi nəzarətin ötürülməsinə cavabdehdir. Formalarla interaktiv proqramlar yaratmaq üçün etiket kitabxanasının təklif etdiyi funksiyalardan istifadə etmək olar. Struts REST proqramlarını və SOAP, AJAX və s. kimi müxtəlif texnologiyaları dəstəkləyir.

Bahar MVC nədir?

Spring açıq mənbə proqram çərçivəsidir. O, Rod Johnson tərəfindən hazırlanmışdır və ilk versiya 2004-cü ildə buraxılmışdır. Spring 3.0.5 Spring çərçivəsinin hazırkı versiyasıdır. O, Apache 2.0 lisenziyası ilə lisenziyalaşdırılıb. İstənilən Java proqramı Spring çərçivəsinin əsas xüsusiyyətlərindən istifadə edə bilər. Spring framework-də bir neçə modul var və MVC onlardan biridir. Spring MVC çərçivəsi onların orijinal planının bir hissəsi deyildi. Əslində, Spring tərtibatçılarının öz MVC çərçivəsi ilə gəlmələrinin səbəbi Struts (versiya 1) və digər oxşar çərçivələrdə çatışmazlıqlar kimi göstərdikləri həllər təmin etmək idi. Xüsusilə, onlar təqdimat təbəqəsi, sorğuların işlənməsi təbəqəsi və model arasında ayrı-seçkiliyin olmamasını aradan qaldırmaq istədiklərini söylədilər. Spring MVC həmçinin sorğuya əsaslanan veb proqram çərçivəsidir.

Struts və Spring MVC arasındakı fərq nədir?

Spring MVC və Struts Java EE veb proqramlarını inkişaf etdirmək üçün istifadə edilən iki məşhur veb proqram çərçivəsi olsalar da, onların fərqli cəhətləri var. Əslində, Spring MVC Struts-da bir neçə məhdudiyyəti aradan qaldırmaq üçün hazırlanmışdır (versiya 1). Lakin Struts2 versiya 1-dən yüksək dərəcədə təkmilləşdirilmiş çərçivədir (onlar hətta eyni kod bazasını paylaşmırlar) və buna görə də Spring MVC və Structs2 yüksək səviyyədə müqayisə edilə bilər.

Spring MVC-nin əsas üstünlüklərindən biri JSP/JSTL, Tiles, FreeMaker, Excel, PDF və JSON kimi bir çox görünüş variantları ilə qüsursuz inteqrasiyanın mümkün olmasıdır. Lakin Struts-dan fərqli olaraq, Spring MVC daxili AJAX dəstəyini təmin etmir (üçüncü tərəfin AJAX kitabxanasından istifadə etmək lazımdır).

Nəticədə, onların hər ikisi çox yetkin çərçivələr hesab olunur və ikisi arasında seçim etmək şəxsi üstünlüklərə bağlıdır. Burada qeyd etmək vacibdir ki, dayaqlara qarşı hər hansı mənfi hisslər varsa, bu, yalnız Struts versiya 1-də aşkar edilmiş çatışmazlıqlarla bağlıdır (bu, indi köhnəlmiş hesab olunur).

Tövsiyə: