Apache Struts — фреймворк с открытым исходным кодом для создания Java EE веб-приложений. Основывается на Java Servlet API и расширяет его, в архитектурном плане реализует (или дает возможность реализовать) паттерн MVC. Фреймворк создан Крейгом МакКланаханом и передан Apache Foundation в мае 2000 года. Сначала находился в составе Apache Jakarta Project и был известен как Jakarta Struts. С 2005 года является проектом Apache верхнего уровня.
Apache Struts | |
---|---|
Тип | Платформа программирования |
Разработчик | Apache Software Foundation |
Написана на | Java[2][1] |
Операционная система | Кроссплатформенное программное обеспечение |
Первый выпуск | 10 октября 2006 и 11 апреля 2014[1] |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | 6.6.0 GA (6 июня 2022) |
Репозиторий | github.com/apache/struts |
Лицензия | Apache 2.0 license |
Сайт | struts.apache.org |
Медиафайлы на Викискладе |
Предназначение Apache Struts и его структура
правитьStruts был создан для того, чтобы чётко разделить модель (бизнес-логику), представление (HTML-страницы) и контроллер (отвечающий за передачу данных от модели к представлению и обратно). Struts предоставляет стандартный контроллер — сервлет под именем ActionServlet
и различные средства для создания страниц представления. Разработчик веб-приложения отвечает за написание кода модели и создание конфигурационного файла struts-config.xml
, который связывает воедино модель, представление и контроллер.
Запросы от клиента передаются контроллеру в виде «Actions» (действий), определённых в конфигурационном файле. Когда контроллер получает такой запрос, он передаёт его соответствующему Action классу. Последний взаимодействует с кодом Модели и возвращает контроллеру «ActionForward», строку, определяющую страницу для отправления клиенту. Информация передаётся между моделью и представлением в виде особых JavaBeans. Богатая библиотека тегов позволяет получать данные из бинов и записывать их без Java-кода.
Struts также поддерживает i18n (интернационализацию), облегчает валидацию данных полученных из веб-формы и предоставляет механизм создания шаблонов под названием «Tiles», который, кроме всего прочего, позволяет наследовать веб-страницы.