Разница между Struts и Spring MVC

Struts vs Spring MVC

Структура Struts является одной из начальных структур веб-приложений для разработки веб-приложений Java EE. Spring - это прикладная среда с открытым исходным кодом. Через некоторое время после введения среды Spring разработчики добавили инфраструктуру MVC в среду Spring, надеясь устранить некоторые из ограничений, которые они обнаружили в Struts. Но спустя несколько лет появился Struts2 (или Struts версии 2), и это была совершенно другая и значительно улучшенная структура веб-приложений. Сейчас Struts и Spring MVC очень активно используются для разработки приложений Java EE в мире..

Что такое Struts?

Struts (также известный как Apache Struts) - это кроссплатформенная платформа с открытым исходным кодом, написанная на Java, предназначенная для разработки веб-приложений Java EE. Struts поощряет использование архитектуры MVC (Model-View-Controller). Это расширение Java Servlet API. Крейг МакКланахан - первоначальный создатель Struts. Первоначально он был известен как Jakaratha Struts и поддерживался в рамках Джакартского проекта Apache Software Foundation. Текущий стабильный выпуск - версия 2.2.3, выпущенная в мае 2011 года. Она выпущена под лицензией Apache License 2.0. Структура Struts называется структурой на основе запросов и состоит из трех основных компонентов: обработчика запросов, обработчика ответа и библиотеки тегов. Стандартный URI (универсальный идентификатор ресурса) сопоставляется с обработчиком запросов. Обработчик ответа отвечает за передачу управления. Для создания интерактивных приложений с формами могут использоваться функции, предлагаемые библиотекой тегов. Struts поддерживает приложения REST и различные технологии, такие как SOAP, AJAX и т. Д..

Что такое Spring MVC?

Spring - это прикладная среда с открытым исходным кодом. Он был разработан Родом Джонсоном, и первая версия была выпущена в 2004 году. Spring 3.0.5 - это текущая версия среды Spring. Он лицензируется под лицензией Apache 2.0. Любое приложение Java может использовать основные функции среды Spring. В среде Spring есть несколько модулей, и MVC является одним из них. Spring MVC Framework не был частью их первоначального плана. Фактически, причина, по которой разработчики 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 (которая в настоящее время считается устаревшей).