What Is Apache Tomcat? Servlet Container Features and Use Cases


Publication Date:

Updated:


INFORMATION > What Is Apache Tomcat? Servlet Container Features and Use Cases

Bottom line: Apache Tomcat is a Java web container that implements Jakarta Servlet, Pages, Expression Language, WebSocket, and related specifications. It can serve HTTP directly, but it is not a full Jakarta EE platform and does not automatically require Apache HTTP Server in front of it.

What you'll learn

  • Which web specifications Tomcat implements and which enterprise services it does not.
  • How connectors, hosts, contexts, sessions, realms, valves, and deployment fit together.
  • When a reverse proxy adds operational value and when Tomcat alone is sufficient.

Who this is for: Java web developers and platform engineers deciding where Tomcat belongs in an architecture.

2026 context: Package names changed from javax.* to jakarta.* in Tomcat 10 and later. Match the Tomcat family to the application's API level and a supported Java runtime.

Overview

Apache Tomcat is a Java web server and Servlet container. This article explains its core responsibilities in a Java web architecture.

Table of Contents

  1. What is Apache Tomcat?
  2. Core Tomcat responsibilities
  3. Conclusion

1. What is Apache Tomcat?

Apache Tomcat is an open-source implementation of Jakarta Servlet, Jakarta Pages, Jakarta Expression Language, Jakarta WebSocket, and related specifications. Tomcat 9 implements the earlier Java EE namespace, while Tomcat 10 and later use the jakarta.* namespace.

The official Tomcat site publishes the supported release families and documentation.

Tomcat supplies the server-side runtime that accepts requests and executes compatible Java web applications.

2. Core Tomcat responsibilities

The Tomcat 9 documentation describes the full feature set. Three responsibilities provide a useful starting point: connectors, concurrent request processing, and application deployment.

2-1. HTTP connectors

A connector listens on a configured address and port, parses incoming HTTP requests, and sends responses. TLS can terminate in Tomcat or in a trusted reverse proxy, depending on the architecture.

Diagram of a user connecting to the server

The connector configuration defines how clients or upstream proxies reach the application server.

2-2. Concurrent request handling

Tomcat uses connector threads and queues to process multiple requests concurrently, as illustrated below.

Diagram of multiple users connecting to a server

Connector limits, application latency, downstream services, and JVM resources all affect effective concurrency. Defaults are not a capacity guarantee.

2-3. Application deployment and routing

Tomcat can host multiple web applications, each with its own context path and lifecycle.

Figure with multiple apps on the server

The request host and path are mapped to a configured virtual host, context, and Servlet. Deployment boundaries should also reflect security and operational isolation requirements.

3. Conclusion

Tomcat provides HTTP connectors, a Servlet runtime, request concurrency, and deployment management for compatible Java web applications. It can serve traffic directly or operate behind a reverse proxy when that extra tier is justified.

Official references