Понимание сервлет-контейнера - PullRequest
16 голосов
/ 16 июля 2011

Как разработчик пользовательского интерфейса и человек с очень ограниченными знаниями Java, как я могу понять, что такое контейнер сервлетов в простых терминах?

Я слышал, что Weblogic, JBoss и т. Д. Являются сервлет-контейнерами, но не уверен, что именно это означает. Означает ли это какую-либо технологию промежуточного программного обеспечения?

Не могли бы вы помочь мне.

Ответы [ 5 ]

45 голосов
/ 16 июля 2011

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

Контейнер сервлета - это серверная программа, которая предоставляет все остальное; открытие сокета, инфраструктура преобразования для превращения HTTP в вызовы API Java и ряд интерфейсов, позволяющих подключить код вашего сервлета.

Если бы это была электрическая розетка, контейнер сервлета был бы розеткой в ​​стене, а сервлет был бы вилкой и шнуром, который присоединялся к розетке; но Java использовала аналогию с «контейнером». Контейнер сервлетов - это «контейнер», в который вы кладете свои сервлеты.

6 голосов
/ 16 июля 2011

Контейнер сервлета - это сервер приложений, который реализует некоторую версию спецификации сервлета Java.

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

4 голосов
/ 13 февраля 2012

Вот хорошее базовое объяснение контейнеров сервлетов - http://inheritingjava.blogspot.com/2011/02/chapter-2-web-servers-and-servlet.html

2 голосов
/ 16 июля 2011

WebLogic, JBOSS и другие серверы приложений Java EE имеют контейнеры сервлетов, плюс еще: EJB, служба имен и каталогов, JMS и т. Д.

Сервлеты - это прослушиватели HTTP, которые запускаются внутри контейнера сервлета. Сервлет может быть отображен для ответа на запросы HTTP GET и POST на заданный вами URL-адрес. Контейнер управляет жизненным циклом и пулированием сервлетов.

0 голосов
/ 16 июля 2011

Архитектура Java EE представляет собой компонентно-ориентированную систему с сочлененным контейнером, компонентной моделью и управляемым жизненным циклом и опосредованной межкомпонентной связью.

Веб-контейнер Java EE определяет компоненты этого уровня (например, {Servlet, Filter}) и договорный интерфейс между компонентами и веб-контейнером (например, ServletContext).

(Если исходить из .NET, то это фактически [та же концептуальная парадигма, что и у] Компонента, Контейнера и ISite - декларативного отображения Java EE XML.) [Edit]

...