Первоначальный автор (ы) | Крейг МакКланахан |
---|---|
Разработчик (и) | Apache Software Foundation |
Первоначальный выпуск | Май 2000 г.; 20 лет назад (2000-05) |
Стабильный выпуск | 1.3.10 / 8 декабря 2008 г.; 11 лет назад (2008-12-08) |
Написано на | Java |
Операционная система | Кросс-платформенная |
Платформа | Кросс-платформенная (JVM ) |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | struts.apache.org |
Apache Struts 1 - это открытый источник веб каркас приложения для разработки Java EE веб-приложений. Он использует и расширяет Java Servlet API, чтобы побудить разработчиков принять Архитектура модель – представление – контроллер (MVC). Первоначально она была создана Крейгом МакКланаханом и передана в фонд Apache Foundation в мае 2000 г. Ранее находилась под Apache Jakarta Project и известный как Jakarta Struts, он стал проектом Apache верхнего уровня в 2005 году.
Фреймворк WebWork возник на основе Apache Struts стремится предложить улучшения и усовершенствования, сохраняя при этом ту же общую архитектуру исходной структуры Struts. Однако в декабре 2005 г. было объявлено, что Struts повторно объединит wi th WebWork. WebWork 2.2 был принят как Apache Struts 2, первый полный выпуск которого был выпущен в феврале 2007 года.
В стандартном веб-приложении Java EE клиент обычно обращается к серверу через веб-форма. Затем информация либо передается в сервлет Java, который взаимодействует с базой данных и выдает ответ в формате HTML, либо передается в JavaServer Pages (JSP) документ, который смешивает код HTML и Java для достижения того же результата. Оба подхода часто считаются неадекватными для больших проектов, поскольку они смешивают логику приложения с представлением и затрудняют обслуживание.
Цель Struts - отделить модель (логику приложения, которая взаимодействует с базой данных) от представления (HTML-страницы, представленные клиенту) и контроллера (экземпляра, который передает информацию между представлением и моделью). Struts предоставляет контроллер (сервлет, известный как ActionServlet
) и облегчает написание шаблонов для уровня представления или представления (обычно в JSP, но XML / XSLT и Velocity также поддерживаются). Программист веб-приложения отвечает за написание кода модели и за создание центрального файла конфигурации struts-config.xml
, который связывает воедино модель, представление и контроллер.
Запросы от клиента отправляются контроллеру в форме «Действия», определенных в файле конфигурации; если контроллер получает такой запрос, он вызывает соответствующий класс Action, который взаимодействует с кодом модели для конкретного приложения. Код модели возвращает «ActionForward», строку, сообщающую контроллеру, какую страницу вывода отправить клиенту. Информация передается между моделью и представлением в виде специальных JavaBeans. Мощная библиотека настраиваемых тегов позволяет на уровне представления читать и записывать содержимое этих компонентов без необходимости использования какого-либо встроенного кода Java.
Struts относится к категории Model 2, основанной на запросах веб-приложений.
Struts также поддерживает интернационализацию с помощью веб-форм и включает шаблон механизм под названием «Плитки», который (например) позволяет составить уровень представления из независимых компонентов верхнего и нижнего колонтитула, навигации по меню и содержимого.