Меня просят поработать над портлетами и порталами.
Я хочу узнать разницу между портлетом и сервлетом?
Чем и чем портлет отличается (может быть функционально) от сервлета?
источник
Меня просят поработать над портлетами и порталами.
Я хочу узнать разницу между портлетом и сервлетом?
Чем и чем портлет отличается (может быть функционально) от сервлета?
Портлеты являются частью стандарта JSR-168, который регулирует контейнеры и компоненты портала. Этот стандарт отличается от стандартов для веб-контейнеров (и сервлетов). Хотя между этими двумя стандартами определенно существуют сильные параллели, они различаются по контейнерам, API, жизненному циклу, конфигурации, развертыванию и т. Д.
Основное различие между портлетом и сервлетом может заключаться в том, что, хотя сервлет всегда отвечает на один тип действия - запрос , портлет (из-за характера его жизненного цикла и более сильных привязок контейнеров) должен реагировать на два типа действий: визуализацию и запрос . Конечно, это еще не все, но я обнаружил в этом основное различие между ними, когда изучал разработку порталов.
Улучшено из источника : сервлеты против портлетов
Изменить (из комментариев)
Контейнер портлетов построен на контейнере сервлетов. Таким образом, в конечном итоге можно сказать, что портлет работает в контейнере сервлетов. Но при разработке приложений мы рассматриваем контейнер портлета отдельно от контейнера Servlet / Java EE.
источник
И портлеты, и сервлеты получают HTTP-запрос и возвращают ответ, который обычно представляет собой некоторый HTML-код, который может отображаться браузером. Портлет используется в контексте «портала», идея состоит в том, что одна страница, которую видит пользователь, состоит из множества частей, мозаичных плиток, каждая из которых поступает из отдельного портлета.
Теперь вы можете получить этот "мозаичный" эффект от обычных серветов (см. Struts + Tiles, чтобы узнать, как) дополнительный бит от портлетов заключается в том, что портлеты находятся в более богатой среде, предоставляемой порталом, предоставляются дополнительные API-интерфейсы, чтобы то, что отображается любым портлетом, может быть настроено отдельными пользователями в соответствии с их предпочтениями, а портлеты могут взаимодействовать друг с другом - нажмите кнопку в одном портлете, что-то произойдет в другом.
источник
Сервлеты имеют определение java (приложения, которые обрабатывают запросы HTTP GET / POST), а портлеты имеют определение пользовательского интерфейса. Компонент, выполняющий определенную функцию, подобную виджетам Windows Vista или множеству компонентов, используемых здесь в stackoverflow. Они не обязательно должны поддерживаться сервлетами на стороне сервера. Но стандарт Portlet был разработан вместе с java. У О'Рейли есть хороший учебник .
источник
По сути, сервлеты предоставляют контент, который обычно занимает всю страницу в браузере (если вы не используете фреймы), а портлеты предоставляют контент, который заключен в окно. С помощью портлетов у вас может быть несколько портлетов рядом друг с другом, и каждый из них может предоставлять контент и функции, отличные от других. Портлет может обеспечивать полное взаимодействие для одного типа приложения, а другой портлет может предоставлять контент для другого типа приложения. Портал может предоставлять некоторые служебные функции и защищенную единую точку входа для всех портлетов на странице. Что касается деталей (сходства / различия) между ними, продолжайте читать. Вот некоторые сходства:
источник