Разница между веб-сервером, веб-контейнером и сервером приложений

98

Расскажите, пожалуйста, в чем разница между веб-сервером, веб-контейнером и сервером приложений.

Гаутам
источник
Спасибо за ответ. Я просмотрел эти ссылки и хотел бы спросить вас об одном. Можно ли сказать, что Tomcat - это сервер приложений?
Гаутам
Нет, Tomcat - это контейнер сервлетов.
Дэвид Грант

Ответы:

64

Ваш вопрос похож на следующий:

В чем разница между сервером приложений и веб-сервером?

В Java: веб-контейнер или контейнер сервлетов или механизм сервлетов: используется для управления такими компонентами, как сервлеты, JSP. Это часть веб-сервера.

Веб-сервер или HTTP-сервер: сервер, способный обрабатывать HTTP-запросы, отправленные клиентом, и отвечать HTTP-ответом.

Сервер приложений или сервер приложений: может обрабатывать все операции приложения между пользователями и внутренними бизнес-приложениями или базами данных организации. Он часто рассматривается как часть трехуровневого приложения с: уровнем представления, уровнем логики, уровнем данных

DomincИюнь
источник
Спасибо за ответ. Можно ли сказать, что Tomcat - это сервер приложений.
Гаутам
Apache Tomcat - это Servlet Engine, а IBM - WebSphere Application Server - пример для Application Server
Dominc,
Apache HTTPD - это веб-сервер
атиш шимпи
5
Apache HTTPD - это веб-сервер, Apache Tomcat - это веб-контейнер, который на самом деле является Apach HTTPD + сервлетом. Сервер приложений Java с предыдущей конфигурацией будет: Apache Tomcat + контейнер EJB + API-интерфейсы (JDBC, JNDI, JTA / JTS, JCA, JMX, JAAS, Java Mail, JMS). Веб-контейнер запускает только WAR, сервер приложений запускает EAR.
ziMtyth
10

Веб-сервер: он предоставляет HTTP-запрос и HTTP-ответ. Он обрабатывает запросы от клиента только по протоколу HTTP. Он содержит веб-контейнер. Веб-приложение в основном развертывается на веб-сервере. EX: сервлет JSP

Веб-контейнер: он поддерживает жизненный цикл объекта сервлета. Вызывает метод службы для этого объекта сервлета. передать HttpServletRequest и HttpServletResponse Object

Сервер приложений: он содержит большое корпоративное приложение с большой бизнес-логикой. Это тяжелый вес или он предназначен для тяжелых приложений. Пример: EJB

Авинаш Панде
источник
8

Веб-приложение работает в веб-контейнере веб-сервера. Веб-контейнер предоставляет среду выполнения через компоненты, которые обеспечивают управление контекстом именования и жизненным циклом. Некоторые веб-серверы могут также предоставлять дополнительные услуги, такие как безопасность и контроль параллелизма. Веб-сервер может работать с сервером EJB для предоставления некоторых из этих услуг. Однако веб-сервер не обязательно должен находиться на том же компьютере, что и сервер EJB.

Веб-приложения состоят из веб-компонентов и других данных, таких как HTML-страницы. Веб-компоненты могут быть сервлетами, страницами JSP, созданными с помощью технологии JavaServer Pages ™, веб-фильтрами и прослушивателями веб-событий. Эти компоненты обычно выполняются на веб-сервере и могут отвечать на HTTP-запросы от веб-клиентов. Сервлеты, страницы JSP и фильтры могут использоваться для создания HTML-страниц, которые являются пользовательским интерфейсом приложения. Они также могут использоваться для генерации данных XML или другого формата, которые используются другими компонентами приложения.

Источник: http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html

Рахул Маурья
источник
4

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

Индра Кант
источник
1

Основное различие между веб-контейнерами и сервером приложений состоит в том, что большинство веб-контейнеров, таких как Apache Tomcat, реализуют только базовый JSR, такой как Servlet, JSP, JSTL, тогда как серверы приложений реализуют всю спецификацию Java EE. Каждый сервер приложений содержит веб-контейнер.

JFC
источник
0

Веб-контейнер + обработка HTTP-запросов = веб-сервер

Веб-сервер + EJB + (обмен сообщениями + транзакции + и т. Д.) = ApplicaitonServer

Срикант М
источник
-1

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

Контейнеры сервлетов - это контейнеры, в которых находятся компоненты, созданные JSP. Они в основном несут ответственность за предоставление динамического контента по запросу пользователя. Как правило, веб-контейнеры отвечают статическим содержимым в соответствии с запросом пользователя, но сервлеты могут создавать динамические страницы.

Хеманг Риндани
источник
-1

Основная идея контейнера сервлетов заключается в использовании Java для динамического создания веб-страницы на стороне сервера с помощью сервлетов и JSP. Таким образом, контейнер сервлетов по сути является частью веб-сервера, который взаимодействует с сервлетами.

Варун Вашиста
источник