Расскажите, пожалуйста, в чем разница между веб-сервером, веб-контейнером и сервером приложений.
Расскажите, пожалуйста, в чем разница между веб-сервером, веб-контейнером и сервером приложений.
Ответы:
Ваш вопрос похож на следующий:
В чем разница между сервером приложений и веб-сервером?
В Java: веб-контейнер или контейнер сервлетов или механизм сервлетов: используется для управления такими компонентами, как сервлеты, JSP. Это часть веб-сервера.
Веб-сервер или HTTP-сервер: сервер, способный обрабатывать HTTP-запросы, отправленные клиентом, и отвечать HTTP-ответом.
Сервер приложений или сервер приложений: может обрабатывать все операции приложения между пользователями и внутренними бизнес-приложениями или базами данных организации. Он часто рассматривается как часть трехуровневого приложения с: уровнем представления, уровнем логики, уровнем данных
Веб-сервер: он предоставляет HTTP-запрос и HTTP-ответ. Он обрабатывает запросы от клиента только по протоколу HTTP. Он содержит веб-контейнер. Веб-приложение в основном развертывается на веб-сервере. EX: сервлет JSP
Веб-контейнер: он поддерживает жизненный цикл объекта сервлета. Вызывает метод службы для этого объекта сервлета. передать HttpServletRequest и HttpServletResponse Object
Сервер приложений: он содержит большое корпоративное приложение с большой бизнес-логикой. Это тяжелый вес или он предназначен для тяжелых приложений. Пример: EJB
Веб-приложение работает в веб-контейнере веб-сервера. Веб-контейнер предоставляет среду выполнения через компоненты, которые обеспечивают управление контекстом именования и жизненным циклом. Некоторые веб-серверы могут также предоставлять дополнительные услуги, такие как безопасность и контроль параллелизма. Веб-сервер может работать с сервером EJB для предоставления некоторых из этих услуг. Однако веб-сервер не обязательно должен находиться на том же компьютере, что и сервер EJB.
Веб-приложения состоят из веб-компонентов и других данных, таких как HTML-страницы. Веб-компоненты могут быть сервлетами, страницами JSP, созданными с помощью технологии JavaServer Pages ™, веб-фильтрами и прослушивателями веб-событий. Эти компоненты обычно выполняются на веб-сервере и могут отвечать на HTTP-запросы от веб-клиентов. Сервлеты, страницы JSP и фильтры могут использоваться для создания HTML-страниц, которые являются пользовательским интерфейсом приложения. Они также могут использоваться для генерации данных XML или другого формата, которые используются другими компонентами приложения.
Источник: http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html
Веб-контейнер, также известный как контейнер сервлетов, является компонентом веб-сервера, который взаимодействует с сервлетами Java. Веб-контейнер отвечает за управление жизненным циклом сервлетов, отображение URL-адреса на конкретный сервлет и обеспечение того, чтобы инициатор запроса URL имел правильные права доступа.
Основное различие между веб-контейнерами и сервером приложений состоит в том, что большинство веб-контейнеров, таких как Apache Tomcat, реализуют только базовый JSR, такой как Servlet, JSP, JSTL, тогда как серверы приложений реализуют всю спецификацию Java EE. Каждый сервер приложений содержит веб-контейнер.
Веб-контейнеры несут ответственность за предоставление среды выполнения веб-приложениям. Он содержит компоненты, которые обеспечивают контекст именования и управляют жизненным циклом веб-приложения. Веб-контейнеры являются частью веб-сервера и обычно обрабатывают запросы пользователя и отправляют статический ответ.
Контейнеры сервлетов - это контейнеры, в которых находятся компоненты, созданные JSP. Они в основном несут ответственность за предоставление динамического контента по запросу пользователя. Как правило, веб-контейнеры отвечают статическим содержимым в соответствии с запросом пользователя, но сервлеты могут создавать динамические страницы.
Основная идея контейнера сервлетов заключается в использовании Java для динамического создания веб-страницы на стороне сервера с помощью сервлетов и JSP. Таким образом, контейнер сервлетов по сути является частью веб-сервера, который взаимодействует с сервлетами.