Apache Struts
Матеріал з Вікіпедії — вільної енциклопедії.
Тип | фреймворк |
---|---|
Розробник | Apache Software Foundation |
Стабільний випуск | 6.4.0 (19 квітня 2024 ) |
Платформа | віртуальна машина 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», який дозволяє наслідувати вебсторінки.
- Сайт struts [Архівовано 24 травня 2009 у Wayback Machine.]
Це незавершена стаття про програмне забезпечення. Ви можете допомогти проєкту, виправивши або дописавши її. |
Платформи Java | ||
---|---|---|
Технології Sun | ||
Основні технології Java | ||
Основні сторонні технології | JRockit · GNU Classpath · Kaffe · TopLink · Apache Harmony · Apache Struts · Spring framework · Hibernate · JBoss application server · Tapestry · Jazelle | |
Історія | Історія версій Java · Критика Java · Java Community Process · Sun Microsystems · Вільні реалізації Java | |
Мови програмування JVM | ||
Java конференції | JavaOne |
Основні проєкти | ActiveMQ · Airflow · Ant · Apache HTTP Server · APR · Apache Beam[en] · Bloodhound · Buildr · Camel · Cassandra · Cayenne · Chemistry · CloudStack · Cocoon · Commons · Cordova · CouchDB · CXF · Deltacloud · Derby · Directory · Excalibur · Felix · Flex · Forrest · Geronimo · Gump · Hadoop · iBATIS · Isis · Jackrabbit · James · Lenya · Lucene · Maven · mod_perl · MyFaces · OFBiz · OpenEJB · OpenJPA · OpenNLP · OpenOffice · POI · Qpid · Rave · Roller · Sling · SpamAssassin · Spark · Sqoop · Stratos · Struts · Subversion · Tapestry · Tika · Tomcat · Traffic Server · Tuscany · Velocity · Wicket · XMLBeans[en] |
---|---|
Інші проєкти | Jakarta Project · Apache XML · Apache Incubator |
Підпроєкти | |
Інкубатор | MXNet · OpenMeetings · Superset |
Колишні проєкти (Attic) | |
Ліцензія: Apache License · Сайт: http://apache.org/ |
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.