Apache Struts — это бесплатный, открытый MVC-фреймворк для создания современных веб-приложений на языке Java. Он предоставляет инфраструктуру для разработки приложений и управления их жизненным циклом, обеспечивая разделение бизнес-логики, представления и обработки запросов. Первоначально разработанный Крейгом МакКланаханом и переданный в Apache Software Foundation в мае 2000 года, Struts стал одним из первых фреймворков, реализующих паттерн Model-View-Controller (MVC) в Java-среде. С 2005 года он является проектом верхнего уровня Apache.
Структура Struts основана на использовании Java Servlet API, расширяя его функциональность и предоставляя стандартный контроллер — сервлет под именем ActionServlet. Этот сервлет обрабатывает входящие HTTP-запросы, сопоставляя их с соответствующими Action-классами, которые реализуют бизнес-логику приложения. Результаты работы Action-классов передаются обратно через механизмы, такие как JavaBeans, и отображаются с помощью JSP-страниц. Конфигурация приложения осуществляется через XML-файл, связывающий компоненты модели, представления и контроллера.
С момента своего появления Struts значительно повлиял на развитие веб-разработки в Java, став основой для создания масштабируемых и поддерживаемых приложений. Несмотря на появление более современных фреймворков, таких как Spring MVC, Struts продолжает использоваться в некоторых корпоративных приложениях, требующих стабильности и проверенной временем архитектуры.
- Реализация архитектуры Model-View-Controller (MVC)
 - Использование Java Servlet API для обработки HTTP-запросов
 - Конфигурация приложения через XML-файлы
 - Поддержка JavaBeans для передачи данных между компонентами
 - Интеграция с JavaServer Pages (JSP) для отображения представлений
 - Поддержка интернационализации (i18n) и валидации данных
 - Наличие библиотеки тегов для упрощения работы с формами и данными
 - Возможность расширения функциональности с помощью плагинов