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

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

Видео: Разница между Struts и Struts2

Видео: Разница между Struts и Struts2
Видео: Java EE: Список тем! 2024, Июль
Anonim

Struts против Struts2

Struts (также известный как Apache Struts или Struts 1) - это кроссплатформенная платформа с открытым исходным кодом, написанная на Java и предназначенная для разработки веб-приложений Java EE. Это была одна из первых сред веб-приложений Java EE. Но несколько лет спустя появился Struts2 (или Struts версии 2), и это была совершенно другая и значительно улучшенная среда веб-приложений. В нем было устранено несколько проблем, которые считались недостатками в первоначальной версии. Теперь Struts2 очень активно используется для разработки приложений Java EE во всем мире.

Что такое Struts?

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

Что такое Struts2?

Структура Struts воспринималась разработчиками Java EE в то время как имеющая определенные ограничения (в основном отсутствие разделения между уровнем представления, уровнем обработки запросов и моделью), и, следовательно, несколько лет спустя появился Struts2. На самом деле Struts2 полностью отличался от Struts. На самом деле, они даже не использовали одну и ту же кодовую базу, потому что Struts2 был просто результатом переименования фреймворка WebWork 2.2 (то есть сообщества WebWork и Struts, которые какое-то время работали отдельно, в конечном итоге объединились, чтобы придумать Struts2). Текущая стабильная версия - версия 2.2.3, выпущенная в мае 2011 года.

В чем разница между Struts и Struts2?

Одной из многих проблем фреймворка Struts была необходимость программирования абстрактных классов вместо интерфейсов. Это было решено фреймворком Struts2. Например, платформа Struts требует, чтобы классы Action были расширены из абстрактных базовых классов, но Struts2 Actions может реализовать интерфейс Action. Из-за различий в модели потоков между двумя версиями проблемы безопасности потоков, возникшие в среде Struts в отношении объектов Action, не возникают в среде Struts2. Причина в том, что объекты Struts2 Action создаются для каждого запроса, в то время как Action в среде Struts имеет только один экземпляр для обработки всех запросов для этого Action. В отличие от действий в среде Struts, действия Struts2 не зависят от API сервлета.

Тестируемость фреймворка Struts2 сравнительно выше, чем фреймворка Struts. Вы можете протестировать действия Struts2, просто выполнив три шага: создание экземпляра, установка свойств и вызов методов. Сбор входных данных проще в среде Struts2, так как свойства действия используются в качестве входных свойств, и нет необходимости сохранять второй входной объект. Помимо поддержки интеграции JSTL (которая присутствует в Struts), платформа Struts2 может использовать более мощный и выразительный OGNL (язык нотации графов объектов). Для преобразования типов Strut и Strut2 используют Commons-Beanutils и OGNL соответственно. Из-за этих улучшений инфраструктура Struts2 считается очень зрелой платформой и очень популярна среди программистов Java EE. С другой стороны, платформа Struts сейчас считается устаревшей.

Рекомендуемые: