API сервлета является основой почти всех технологий Java Web View. Сервлет обеспечивает базовый механизм для написания классов Java для веб-приложений. Сервлеты могут отвечать на HTTP-запросы, создавать файлы cookie и поддерживать сеансы.
Страницы Джакарты (JSP)
JSP, созданный на основе API сервлетов, предоставляет ориентированную на документы, основанную на шаблонах тегов модель программирования сервера, которая может генерировать множество форм текстового контента.
Код Java может быть встроен в файлы JSP и компилируется и выполняется при получении запроса.
Apache Struts
Struts обеспечивает разделение контроллера и представления.
Запросы принимаются классом Java (контроллером), который может решить, какое представление отображать.
Фактическое представление может быть написано с использованием различных технологий представления, таких как JSP, шаблон свободного маркера, шаблон скорости и т. д.
Файл конфигурации XML используется для указания «Страничной навигации», т. е. потока запроса к соответствующему Контроллеру, а также того, какое Представление отображать в зависимости от результата Контроллера.
Конкурент : Spring MVC, Grails
Гобелен Апачи
Компонентно-ориентированная структура представлений.
Классы пишутся как POJO и байт-код преобразуется во время выполнения.
Настроено с использованием аннотаций и соглашений об именовании, а не XML
По сравнению с JSP обеспечивает четкое разделение HTML-разметки и кода Java.
Веб-дизайнеры могут просматривать HTML-шаблоны напрямую.
Измененные классы компонентов автоматически перезагружаются в работающее приложение для ускорения разработки.
Он позволяет разбить HTML-страницу на несколько «страниц», называемых шаблонами, определениями и составными страницами.
Во время выполнения страницы сшиваются вместе для генерации окончательного HTML. Страницы пишутся на JSP.
Конкурент : SiteMesh
Apache Уикет
Компонентно-ориентированная структура представлений.
Страницы напрямую взаимодействуют с компонентами Java с отслеживанием состояния на сервере.
Компоненты и их состояние управляются фреймворком Wicket, освобождая разработчика приложения от необходимости использовать HttpSession напрямую для управления состоянием.
Не требует XML для конфигурации.
По сравнению с JSP обеспечивает четкое разделение HTML-разметки и кода Java.
Компоненты веб-страницы «вставляются» в HTML-разметку из кода.
Конкурент : Гобелен, JSF
Лица и лица Джакарты
Спецификация для компонентно-ориентированных фреймворков представлений.
Обычно использует Facelets для шаблонов на основе XML/XHTML.
Классы записываются как POJO-объекты с аннотациями или файлами конфигурации XML, используемыми для их связи с шаблонами страниц и компонентов.
Унифицированный язык выражений позволяет привязывать поля и события компонентов к свойствам и методам компонентов POJO.
Ограничения преобразования и проверки можно задать в Facelets, и они будут применяться автоматически, что обычно приводит к повторной публикации той же страницы с информацией об ошибке в случае сбоя.
Навигация может осуществляться с помощью правил файла конфигурации или напрямую указываться на странице.
SiteMesh — это фреймворк HTML-шаблонов, основанный на модели «Оформление».
Он позволяет создать шаблон «декорирования», который затем применяется к любому другому HTML-коду для генерации нового HTML-кода.
Вновь сгенерированный HTML-код содержит элементы из исходного HTML-кода, добавленные в шаблон.
Это позволяет исходному HTML быть очень простым и лишенным какой-либо спецификации форматирования или макета. Шаблон, в свою очередь, лишен какой-либо фактической информации.