В чем разница между «Веб-сервером» и «Контейнером сервлетов»?
В общем, все веб-серверы Servlet (Web) Containers тоже или наоборот?
Я использую Apache Tomcat для JSP и Apache для PHP, но не могу определить точную разницу между этими двумя, где именно лежит разница?
Я попытался найти предыдущие темы, но не смог найти много.
Благодаря! 🙂
Контейнер сервлета – это веб-сервер, который должен иметь возможность запускать сервлеты Java.
С другой стороны, веб-сервер является более широким понятием, включая все программное обеспечение, работающее и передающее через протокол HTTP.
В соответствии с этими определениями:
HTTP – это протокол передачи гипертекста. Оба Apache и Tomcat будут принимать HTTP-запросы.
Разница в том, что Apache просто HTTP-сервер. Он обслуживает статические HTML-страницы.
У Tomcat есть HTTP-прослушиватель внутри него, но в дополнение к этому у него есть сервлет / JSP-движок. Он может обслуживать как статические, так и динамические HTML-страницы.
Вы можете использовать Tomcat без Apache.
Apache не может обрабатывать запросы сервлета / JSP без наличия на нем сервлета / JSP-механизма
ServletContext – это объект, специфичный для приложения, тогда как ServletConfig – объект, специфичный для сервлета. Объект ServletConfig создается, поскольку веб-контейнер создает экземпляр соответствующего сервлета