Apache Tomcat
Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages (JSP), Java Expression Language, and Java WebSocket technologies. It provides a pure Java HTTP web server and servlet container for hosting Java web applications. Tomcat exposes management APIs via the Manager application (HTTP text protocol), JMX for monitoring, and a Virtual Host Manager for configuration management. It is maintained by the Apache Software Foundation and is one of the most widely deployed Java application servers.
APIs
Apache Tomcat Manager API
The Tomcat Manager application provides an HTTP text protocol API for deploying, undeploying, starting, stopping, and reloading web applications remotely. Key endpoints include:...
Apache Tomcat JMX API
The Tomcat JMX API exposes management and monitoring beans for Connectors, Engines, Hosts, Contexts, Sessions, DataSources, thread pools, and memory via Java Management Extensio...
Features
Jakarta Servlet 6.0 (formerly Java EE) compliant servlet container.
JavaServer Pages compiler and runtime engine for dynamic HTML generation.
Jakarta WebSocket 2.1 implementation for full-duplex browser-server communication.
HTTP/2 multiplexing and server push via APR/Native connector.
Built-in SSL/TLS support via JSSE or APR/OpenSSL connectors.
DBCP2-based database connection pool management via JNDI DataSource.
Session replication across Tomcat cluster nodes via DeltaManager or BackupManager.
Use Cases
Deploy and host Java Servlet/JSP web applications.
Host REST API backends built with Spring MVC, JAX-RS, or plain servlets.
Embedded Tomcat in Spring Boot for microservices deployment.
Host Java EE applications during cloud migration.
Integrations
Embedded Tomcat as the default servlet container in Spring Boot applications.
mod_jk and mod_proxy_ajp for load balancing between Apache httpd and Tomcat.
Nginx reverse proxy for Tomcat with SSL termination and load balancing.
JMX Exporter for exposing Tomcat metrics in Prometheus format.
Official Docker image for containerized Tomcat deployment.