Struts vs Spring MVC
Struts Framework е една от първоначалните рамки за уеб приложения за разработване на уеб приложения на Java EE. Spring е рамка за приложения с отворен код. Известно време след въвеждането на Spring Framework, разработчиците добавиха MVC рамка към пролетната рамка, надявайки се да се справят с някои от ограниченията, които възприемат в Struts. Но няколко години по-късно, Struts2 (или Struts версия 2) пристигна и тя беше напълно различна и много подобрена рамка за уеб приложения. Сега и Struts, и Spring MVC се използват много за разработване на Java EE приложения в света.
Какво е Struts?
Struts (известен също като Apache Struts) е междуплатформена рамка с отворен код, написана на Java, която е предназначена за разработване на уеб приложения на Java EE. Подпорите насърчават използването на MVC (Model-View-Controller) архитектура. Това е разширение на Java Servlet API. Craig McClanahan е оригиналният създател на Struts. Първоначално е бил известен като Джакарата Струц и е поддържан по проект на Джакарта на софтуерната фондация Apache. Нейната текуща стабилна версия е версия 2.2.3, която беше пусната през май 2011 г. Тя е издадена под Apache License 2.0. Структурната рамка се нарича рамка, базирана на заявка, и се състои от три основни компонента: обработващ заявка, обработващ отговор и библиотека с тагове. Стандартният URI (Унифициран идентификатор на ресурс) е картографиран към обработващ заявка. Обработващият отговор отговаря за прехвърлянето на контрол. За да създадете интерактивни приложения с формуляри, функциите, предлагани от библиотеката с тагове, могат да бъдат използвани. Подпорите поддържат REST приложения и различни технологии като SOAP, AJAX и т.н..
Какво е Spring MVC?
Spring е рамка за приложения с отворен код. Той е разработен от Род Джонсън ,, а първата версия е издадена през 2004 г. Пролетта 3.0.5 е текущата версия на пролетната рамка. Лицензиран е под лиценз Apache 2.0. Всяко Java приложение може да използва основните функции на пролетната рамка. В пролетната рамка има няколко модула и MVC е един от тях. Пролетната рамка на MVC не беше част от първоначалния им план. Всъщност причината разработчиците на Spring да създадат своя собствена рамка MVC беше да предоставят решения за това, което показаха като недостатъци в Struts (версия 1) и други подобни рамки. По-специално, те казаха, че искат да се справят с липсата на разделяне между презентационния слой, слой за обработка на заявки и модела. Spring MVC е също така базирана на заявка рамка за уеб приложения.
Каква е разликата между Struts и Spring MVC?
Въпреки че Spring MVC и Struts са две популярни рамки за уеб приложения, използвани за разработване на уеб приложения на Java EE, те имат своите различия. Всъщност Spring MVC е разработен, за да се справи с няколко ограничения в Struts (версия 1). Но Struts2 е силно подобрена рамка от версия 1 (те дори не споделят същата кодова база) и следователно Spring MVC и Structs2 са много сравними.
Едно от основните предимства на Spring MVC е, че е възможно безпроблемна интеграция с много опции за изглед като JSP / JSTL, Tiles, FreeMaker, Excel, PDF и JSON. Но, за разлика от Struts, Spring MVC не осигурява вградена поддръжка на AJAX (трябва да използвате AJAX библиотека на трети страни).
В крайна сметка и двамата се считат за високо зрели рамки и изборът между двете се свежда до личните предпочитания. Тук е важно да се отбележи, че ако има някакви негативни чувства към подпорите, те се дължат само на недостатъците, които бяха открити във Struts версия 1 (която сега се счита за остаряла).