Struts против 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 и поддерживался в рамках Jakarta Project 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 не входил в их первоначальный план. На самом деле причина, по которой разработчики 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, то только из-за недостатков, которые были обнаружены в Struts версии 1 (которая сейчас считается устаревшей).