WebWork - WebWork
Эта статья нужны дополнительные цитаты для проверка.Сентябрь 2015 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | OpenSymphony |
---|---|
Стабильный выпуск | 2.2.6 / 21 июля 2007 г. |
Написано в | Java (язык программирования) |
Операционная система | Кроссплатформенность |
Тип | Веб-платформа |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | www |
WebWork был на основе Java каркас веб-приложений разработан OpenSymphony что слилось с текущим Struts2 рамки. Он был разработан для повышения производительности труда разработчиков и упрощения кода. WebWork был построен на основе XWork, который предоставил общий шаблон команды рамки, а также Инверсия контроля контейнер.
WebWork предоставил поддержку для создания повторно используемых шаблонов пользовательского интерфейса, таких как элементы управления формами, темы пользовательского интерфейса, интернационализация, отображение параметров динамической формы в JavaBeans, проверка на стороне клиента и сервера и т. д.
Цели и обзор дизайна
В стандарте Java EE веб-приложение, клиент обычно отправляет информацию на сервер через веб-форма. Затем информация либо передается Сервлет Java который его обрабатывает, взаимодействует с базой данных и производит HTML -форматированный ответ, или он дается JavaServer Pages (JSP) документ, который смешивает код HTML и Java для достижения того же результата. Оба подхода часто считаются неадекватными.[кем? ] для больших проектов, потому что они смешивают логику приложения с презентацией и затрудняют обслуживание.
Дизайнеры WebWork пытались понять, что они считали ограничениями существующих фреймворков, и работать над их устранением. Он поддерживает преобразование типов, продолжения и перехватчики. WebWork также поддерживает технологии множественного просмотра, такие как JSP, скорость и FreeMarker.
WebWork был разработан и реализован с определенным набором целей:
- Веб-дизайнер никогда не трогал Java-код
- Создайте несколько "веб-обложек" для приложения
- Измените внешний вид и чувства
- Изменить макет на данной веб-странице
- Поток изменений между веб-страницами
- Перемещать * существующие * элементы данных с одной страницы на другую
- Интеграция с различными серверными инфраструктурами
- Повторное использование компонентов
- Выполнять интернационализация (i18n) веб-приложения
- Делайте API маленьким и точным
- Возможность быстро изучить WebWork, сделав все более интересные функции необязательными
- Позвольте разработчику выбирать, как реализовать как можно больше, при этом предоставляя реализации по умолчанию, которые хорошо работают в большинстве случаев.[1]
Жизненный цикл
Архитектура WebWork была основана на MVC Шаблоны Framework, Command и Dispatcher и принцип инверсии управления. Жизненный цикл запроса WebWork начинается, когда контейнер сервлета получает новый запрос. Новый запрос проходит через набор фильтров, называемых цепочкой фильтров, и отправляется в FilterDispatcher. FilterDispatcher перенаправляет запрос в ActionMapper, чтобы определить, что нужно сделать с запросом. Если запрос требует действия, он отправляет объект ActionMapping обратно в FilterDispatcher. Если нет, ActionMapper возвращает нулевой объект, указывая на то, что никаких действий предпринимать не нужно. FilterDispatcher перенаправляет запрос и объект ActionMapper в ActionProxy для дальнейших действий. ActionProxy вызывает диспетчер файлов конфигурации для получения атрибутов действия, которое хранится в файле xwork.xml, и создает объект ActionInvocation. Объект ActionInvocation содержит такие атрибуты, как действие, контекст вызова, результат, код результата и т. Д. Диспетчер файлов конфигурации имеет доступ к этим файлам конфигурации и используется ActionProxy в качестве шлюза к файлам конфигурации. Объект ActionInvocation также содержит информацию о перехватчиках, которые необходимо вызвать после или до выполнения действия.
ActionInvocation вызывает все перехватчики, перечисленные в объекте ActionInvocation, а затем вызывает фактическое действие. Когда действие завершено, ActionInvocation получает код результата действия из выполнения. Он использует код результата действия для поиска соответствующего результата, который обычно представляет собой страницу JSP, шаблон скорости или шаблон freemarker, связанный с кодом результата. ActionInvocation также снова выполняет перехватчики в обратном порядке и возвращает ответ в виде HttpServletResponse.[2]
Слияние WebWork / Struts
27 ноября 2005 г. разработчик WebWork Патрик Лайтбоди объявил, что WebWork будет объединен с Стойки 2. [2] Хотя следующий основной выпуск (WebWork 2.2.x) был выпущен под названием WebWork, все будущие основные версии (а именно 2.3.x и выше) будут включены в Struts2.
Тед Хустед, разработчик Struts, сказал в электронном письме, что WebWork очень похож на Struts 1.x и делает некоторые вещи лучше, чем Struts. Обоснование и Хастед, и Лайтбоди заключалось в том, что объединение технологии WebWork с сообществом Struts принесет пользу обоим проектам.
Лицензия
WebWork использует Лицензия на программное обеспечение OpenSymphony который является модифицированным (и полностью совместимый с) Лицензия на программное обеспечение Apache.
Смотрите также
Рекомендации
- ^ [1] В архиве 10 марта 2008 г. Wayback Machine
- ^ "Магазин Java (TM) - Обзор - WebWork: Новая платформа на пороге". Javaboutique.internet.com. 2006-03-24. Архивировано из оригинал 10 февраля 2012 г.. Получено 2012-03-06.