Не будет большого списка книг, поскольку список людей с большим опытом ограничен. Шаблонное метапрограммирование, запущенное для реального вокруг первого Цеха Шаблонного программирования C++ в 2000 и многих авторов, назвало до сих пор посещенным. (IIRC, Andrei не сделал.) Эти пионеры значительно влияли на поле, и в основном что должно быть записано, теперь записан. Лично, я был бы совет Vandevoorde & Josuttis. Alexandrescu является жесткой книгой, если Вы плохо знакомы с полем.
Это как веб-сервер (поддерживает протокол HTTP), так и веб-контейнер (поддерживает JSP / Servlet API, а также иногда называется "контейнером сервлетов").
Веб-сервер - это любая программа, которая принимает входящие HTTP-соединения.
Как упоминалось выше, Tomcat является одновременно и веб-сервером, и веб-контейнером, но на самом деле он не предназначен для работы в качестве высокопроизводительного веб-сервера и не включает некоторые функции, типичные для веб-сервера. . Tomcat предназначен для использования вместе с веб-сервером Apache, где Apache управляет статическими страницами, кешированием, перенаправлением и т. Д., А Tomcat обрабатывает функции контейнера (веб-приложения). Вы часто будете слышать вместе фразу «Apache Tomcat», которая одновременно является правильной атрибуцией проекта Tomcat (как часть Apache Foundation), но также уместна в качестве ярлыка, поскольку они обычно используются вместе как пакет.
Если у вас нет требований к высокопроизводительному серверу и / или вы хотите встроить относительно простой веб-сервер с функциями контейнера, Tomcat подходит для этого (и, вероятно, это самый простой встроенный веб-контейнер для работы, сравнимый с Jetty). Интересно отметить, что класс Catalina , используемый в качестве основного механизма Tomcat, на самом деле является подклассом класса Embedded , который можно использовать в автономном веб-приложении.