Разница между распорками и распорками2

Разница между распорками и распорками2
Разница между распорками и распорками2

Видео: Разница между распорками и распорками2

Видео: Разница между распорками и распорками2
Видео: Нужна ли распорка кузова, реальный тест 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 (модель-представление-контроллер). Это расширение Java Servlet API. Крейг МакКланахан - первый создатель Struts. Первоначально он назывался Jakaratha Struts и поддерживался в рамках проекта Jakarta Project Apache Software Foundation. Он выпущен под лицензией Apache License 2.0. Платформа Struts называется структурой на основе запросов и состоит из трех основных компонентов: обработчика запросов, обработчика ответов и библиотеки тегов. Стандартный URI (унифицированный идентификатор ресурса) отображается на обработчик запроса. Обработчик ответа отвечает за передачу управления. Для создания интерактивных приложений с формами можно использовать функции, предлагаемые библиотекой тегов. Struts поддерживает приложения REST и различные технологии, такие как SOAP, AJAX и т. Д.

Что такое Struts2?

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

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