2009-11-03 4 views
9

Что означает термин «веб-компонент» в Java EE? Дайте мне несколько примеров из разных технологий Java EE (jsp, jsf, ejb ..)Что такое веб-компонент в Java EE?

UPD: могу ли я сказать, что каждый пользовательский тег в jsp является веб-компонентом и что теги в jsf являются веб-компонентами? или только сервлеты и целые jsp-страницы являются веб-компонентами? Развернутый сеансовый компонент веб-компонента?

ответ

17

Веб-компонент - это не что иное, как программный компонент, который обслуживает входящий HTTP-запрос и предоставляет какой-то (надеюсь, действительный) ответ.

Большинство, если не все фреймворки Java Web, основаны на базовой технологии сервлетов Java. Сервлет - это постоянный фрагмент кода, который получает абстракцию HTTP-запроса и дает HTTP-ответ. Я говорю «упорный», потому что он обычно долгоживущий по многим связям (в отличие от старых переходных процессов на основе CGI, которые были около 10-15 лет назад, когда сервлеты были придуманы).

В дополнение спецификация сервлетов включает в себя:

  • Крючки для создания и уничтожения сервлеты;
  • Автоматическое управление сеансом, в том числе в кластерных средах;
  • Выход в ответ использует стандартную библиотеку ввода-вывода Java;
  • Сервлеты имеют достаточно полные абстракции для запроса и ответа;
  • Поддерживается конфигурация на уровне приложений (постоянная); и
  • Данные могут быть разделены по-разному (страница, запрос, сеанс и приложение).

JSP - это особый вид разметки, который JSP-совместимый веб-контейнер «скомпилирует» в сервлет-код.

Struts (1 & 2), Spring MVC, JSF, Seam, Wicket, Tapestry и т. Д. - все веб-фреймворки, которые создаются поверх спецификации сервлетов. Их буквально десятки, и все они разные.

Смежные вопросы