Апач Томкэт


Apache Tomcat (для краткости называемый «Tomcat») — это бесплатная реализация с открытым исходным кодом технологий Jakarta Servlet , Jakarta Expression Language и WebSocket . [2] Он обеспечивает среду веб-сервера HTTP «чистой Java», в которой также может выполняться код Java . Таким образом, это сервер веб-приложений Java, хотя и не полноценный сервер приложений JEE.

Tomcat разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation , выпущенным по лицензии Apache License 2.0.

Tomcat 4.x был выпущен с Catalina (контейнер сервлетов), Coyote (коннектор HTTP) и Jasper ( движок JSP ).

Catalina — это контейнер сервлетов Tomcat . Catalina реализует спецификации Sun Microsystems для сервлетов и страниц JavaServer (JSP). В Tomcat элемент Realm представляет собой «базу данных» имен пользователей, паролей и ролей (аналогично группам Unix ), назначенных этим пользователям. Различные реализации Realm позволяют Catalina интегрироваться в среды, где такая информация аутентификации уже создается и поддерживается, а затем использовать эту информацию для реализации безопасности, управляемой контейнером, как описано в спецификации сервлетов. [3]

Coyote — это компонент соединителя для Tomcat, который поддерживает протоколы HTTP 1.1 и 2 в качестве веб-сервера. Это позволяет Catalina, номинально являющемуся Java-сервлетом или контейнером JSP, также действовать как простой веб-сервер, который обслуживает локальные файлы в качестве HTTP-документов. [4] Coyote прослушивает входящие соединения с сервером через определенный TCP- порт и перенаправляет запрос в Tomcat Engine для его обработки и отправки ответа запрашивающему клиенту. Другой коннектор Coyote, Coyote JK, слушает аналогичным образом, но вместо этого пересылает свои запросы на другой веб-сервер, например Apache, используя протокол JK . [5] Обычно это обеспечивает лучшую производительность. [ нужна цитата ]

Jasper — это JSP Engine компании Tomcat. Jasper анализирует файлы JSP , чтобы скомпилировать их в код Java в виде сервлетов (с которыми может работать Catalina). Во время выполнения Jasper обнаруживает изменения в файлах JSP и перекомпилирует их.