Apache Struts

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Apache Struts
Типфреймворк
РозробникApache Software Foundation
Стабільний випуск6.4.0 (19 квітня 2024; 6 місяців тому (2024-04-19))
Платформавіртуальна машина Java
Операційна системабагатоплатформний
Мова програмуванняJava
ЛіцензіяApache License 2.0
Репозиторійgithub.com/apache/struts
Вебсайтstruts.apache.org

Apache Struts — вебфреймворк з відкритим кодом для розробки Java EE вебзастосунків. Використовує і розширює Java Servlet API, надаючи архітектуру MVC (Модель-Вид-Контролер). Struts 1 створений Крейгом МакКланаханом і спонсорований в травні 2000 року Apache Software Foundation. Раніше знаходився у складі Apache Jakarta Project і був відомий як Jakarta Struts. У 2005 році він став проєктом Apache вищого рівня.

Struts був одним із перших вебфреймворків для Java і став одним із найпопулярніших і найвідоміших. Проте його архітектура мала ряд недоліків, а проєкт довгий час не розвивався, тому Struts 2 було створено на базі зовсім іншого фреймворка — Webwork. Команди Webwork і Struts об'єднали свої проєкти у Struts 2, узявши реалізацію Webwork і відому у корпоративному середовищі назву Struts.

Призначення та структура

[ред. | ред. код]

У звичайному Java EE вебзастосунку клієнт, як правило, відправляє інформацію на сервер з форми. Потім інформація передається сервлету (або JSP сторінці), який обробляє її, виконує взаємодію з базою даних і формує HTML відповідь.

Struts був створений для того, щоб чітко відділяти модель (бізнес-логіку) від представлення (логіки відображення, у нашому випадку це JSP, хоча підтримуються і XML/XSLT і Velocity), і контролера (сутності, яка займається передачею інформації від моделі до представлення).

В склад Struts входить контролер — сервлет під іменем ActionServlet і різні утиліти, які полегшують створення сторінок представлення. Розробник вебдодатку відповідає за написання коду моделі і створення центрального конфігураційного файлу struts-config.xml, який зв'язує модель, представлення і контролер. Запит від клієнта передається контролером у вигляді «Actions» (дій), визначених в конфігураційному файлі. Якщо контролер отримує такий запит, він передає його відповідному Action класу, який запускає специфічний для цього додатку код моделі і повертає «ActionForward», стрічку, яка вказує контролеру, яку сторінку потрібно відправити клієнту.

Інформація передається між моделлю і представленням у вигляді особливих JavaBeans. Багата бібліотека тегів дозволяє виводити і записувати вміст цих бінів на презентаційному рівні без включення Java коду.

Struts також підтримує i18n (інтернаціоналізацію), полегшує перевірку даних присланих з вебформи і надає механізм створення шаблонів під назвою «Tiles», який дозволяє наслідувати вебсторінки.

Примітки

[ред. | ред. код]

Посилання

[ред. | ред. код]