Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Сходства и различия сервлетов и портлетов




Из-за того, что Portlet API – это расширение Servlet API, у них есть некоторые сходства и различия.

Сходства между сервлетами и портлетами:

· относятся к J2EE Web-компонентам;

· управляются контейнерами;

· генерируют динамическое Web-содержимое при помощи запросов и ответов.

Различия между сервлетами и портлетами:

· портлеты генерируют часть документа, в то время как сервлеты генерируют его полностью;

· за счёт того, что операции кодирования URL выполняются на стороне сервера, пользователь не может обратиться к нему напрямую, зная имя портлета: портлет ведь часть страницы, поэтому знания одного URL
мало;

· портлеты имеют несколько иную схему управления запросами, которые делятся на запросы выполнения действий и запросы генерирования содержимого;

· портлеты придерживаются стандартного набора состояний, которые определяют их контекст работы и правила генерации содержимого.

Портлеты превосходят сервлеты по следующим направлениям:

· имеют расширенный механизм для управления и сохранения своей конфигурационной информации;

· есть доступ к информации о пользовательском профиле, не таком тривиальном, как предоставляют сервлеты.

Приложения с использованием портлетов – это расширенные Web-приложения. Таким образом, оба типа приложений развертываются из WAR-файла и содержат дескриптор Web-приложения (файл web.xml). Портлет-приложения также содержат и дескриптор портлета (файл portlet.xml).

Жизненный цикл

Как и у сервлетов, жизненный цикл портлетов управляется контейнером,
и у него есть метод init(), который используется для инициализации всех данных, необходимых для корректной работы портлета (создание ресурсов, конфигурирование и т.д.).

Метод init() в качестве параметра принимает объект, который реализует интерфейс PortletConfig, и этот объект предоставляет необходимые для инициализации параметры. Он может быть использован для получения ссылки на объект, реализующий интерфейс PortletContext.

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

Метод destroy() предоставляет возможность для произведения очистки ресурсов, которые были востребованы и инициализированы методом init(). Этот метод аналогичен методу destroy() в сервлетах и вызывается один раз: когда контейнер выгружает портлет.

Состояния

Состояния портлетов – это часть портальной модели отображения. Состояния позволяют портлету отображать различные «виды» в зависимости от ситуации.

Есть четыре состояния:

· View – основное состояние портлета;

· Help – если портлет обеспечивает состояние помощи;

· Edit – редактирование параметров портлета с сохранением результатов для этого конкретного пользователя;

· Configure – конфигурирование портлета с охранением результатов для всех пользователей, права к состояниям никак не относятся.

Портлет может быть минимизирован или максимизирован.

Портлет-контейнер

Портлет-контейнер – среда времени выполнения портлета. Она управляет жизненным циклом портлета и запросами от портала путем вызова портлетов внутри контейнера.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных