Технологии и фреймворки Java View

Язык программирования и библиотеки

Технологии и фреймворки Java view — это веб- библиотеки программного обеспечения , которые предоставляют пользовательский интерфейс или « view-layer » веб-приложений Java . Такие фреймворки приложений используются для определения веб-страниц и обработки HTTP- запросов (щелчков), генерируемых этими веб-страницами. Как подкатегория веб-фреймворков , фреймворки view-layer часто в разной степени пересекаются с веб-фреймворками, которые предоставляют другие функциональные возможности для веб-приложений Java.

Фреймворки Java-представлений часто заявляют о поддержке некоторых или всех шаблонов проектирования модель-представление-контроллер .

С первого взгляда

Рамки, основанные на действиях:Apache Struts , Spring MVC
Компонентно-ориентированные фреймворки:Apache Click , Apache Tapestry , Apache Wicket , Jakarta Faces
Системы веб-шаблонов:Плитка Apache , SiteMesh, Thymeleaf

API сервлета

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-шаблоны напрямую.
  • Измененные классы компонентов автоматически перезагружаются в работающее приложение для ускорения разработки.
  • Использует шаблон навигации Post/Redirect/Get для отправки формы.
  • Конкурент : Уикет, JSF

Плитка Apache

  • Это фреймворк HTML-шаблонов, основанный на композитном шаблоне .
  • Он позволяет разбить HTML-страницу на несколько «страниц», называемых шаблонами, определениями и составными страницами.
  • Во время выполнения страницы сшиваются вместе для генерации окончательного HTML. Страницы пишутся на JSP.
  • Конкурент : SiteMesh

Apache Уикет

  • Компонентно-ориентированная структура представлений.
  • Страницы напрямую взаимодействуют с компонентами Java с отслеживанием состояния на сервере.
  • Компоненты и их состояние управляются фреймворком Wicket, освобождая разработчика приложения от необходимости использовать HttpSession напрямую для управления состоянием.
  • Не требует XML для конфигурации.
  • По сравнению с JSP обеспечивает четкое разделение HTML-разметки и кода Java.
  • Компоненты веб-страницы «вставляются» в HTML-разметку из кода.
  • Конкурент : Гобелен, JSF

Лица и лица Джакарты

  • Спецификация для компонентно-ориентированных фреймворков представлений.
  • Доступны реализации Eclipse Mojarra и Apache MyFaces
  • Обычно использует Facelets для шаблонов на основе XML/XHTML.
  • Классы записываются как POJO-объекты с аннотациями или файлами конфигурации XML, используемыми для их связи с шаблонами страниц и компонентов.
  • Унифицированный язык выражений позволяет привязывать поля и события компонентов к свойствам и методам компонентов POJO.
  • Ограничения преобразования и проверки можно задать в Facelets, и они будут применяться автоматически, что обычно приводит к повторной публикации той же страницы с информацией об ошибке в случае сбоя.
  • Навигация может осуществляться с помощью правил файла конфигурации или напрямую указываться на странице.
  • Может прозрачно поддерживать Ajax .
  • Конкурент : Калитка, Гобелен

SiteMesh

  • SiteMesh — это фреймворк HTML-шаблонов, основанный на модели «Оформление».
  • Он позволяет создать шаблон «декорирования», который затем применяется к любому другому HTML-коду для генерации нового HTML-кода.
  • Вновь сгенерированный HTML-код содержит элементы из исходного HTML-кода, добавленные в шаблон.
  • Это позволяет исходному HTML быть очень простым и лишенным какой-либо спецификации форматирования или макета. Шаблон, в свою очередь, лишен какой-либо фактической информации.
  • Сочетание этих двух подходов позволяет добиться единообразного внешнего вида и функциональности всех веб-страниц .
  • Конкурент : Плитка

Искра

  • Spark — микровеб-фреймворк, построенный на основе простой системы маршрутизации
  • По умолчанию он работает на встроенном веб-сервере Jetty , но его можно настроить для работы на других веб-серверах.
  • Поддерживает три различных шаблонизатора: Velocity , FreeMarker и Mustache.
  • Он направлен на содействие быстрой разработке и не использует аннотации или фирменные решения.

Смотрите также

Взято с "https://en.wikipedia.org/w/index.php?title=Java_view_technologies_and_frameworks&oldid=1235127052#Apache_Tiles"