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


В чем разница между "Веб-сервером" и "Контейнером сервлетов"?
В общем, все веб-серверы тоже являются сервлетными (веб-) контейнерами или наоборот?

Я использую Apache Tomcat для JSP и Apache для PHP, но не могу понять точную разницу между этими двумя, в чем именно заключается разница?

Я попытался найти предыдущие темы, но не смог найти многого.

Спасибо! :-)

Author: Prasoon Saurav, 2009-12-14

3 answers

Контейнер сервлетов - это Веб-сервер, который должен иметь возможность запускать сервлеты Java.

Веб-сервер, с другой стороны, является более широким термином, включающим все программное обеспечение, работающее и взаимодействующее по протоколу HTTP.

В соответствии с этими определениями:

  1. Все контейнеры сервлетов являются Веб-серверами
  2. Не все веб-серверы являются контейнерами сервлетов . Т.Е. HTTP-сервер Apache не может запускать сервлет Java напрямую.
 32
Author: Pablo Santa Cruz, 2009-12-14 13:24:42

HTTP - это транспортный протокол гипертекста. И Apache, и Tomcat будут принимать HTTP-запросы.

Разница в том, что Apache - это ПРОСТО HTTP-сервер. Он обслуживает статические HTML-страницы.

В Tomcat есть прослушиватель HTTP, но в дополнение к этому у него есть механизм сервлета/JSP. Он может обслуживать как статические, так и динамические HTML-страницы.

Вы можете использовать Tomcat без Apache.

Apache не может обрабатывать запросы сервлетов/JSP без подключенного механизма сервлетов/JSP поверх всего этого

 1
Author: Velu, 2015-01-01 06:41:08

ServletContext - это объект, специфичный для приложения, тогда как ServletConfig - это объект, специфичный для сервлета.. Объект ServletConfig создается, когда веб-контейнер создает экземпляр соответствующего сервлета

 -3
Author: aniket patil, 2014-11-26 14:31:30