OSS Tanbou

deploy Java web applications with Servlet, JSP, WebSocket, and Jakarta web specifications

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
8,258
Primary language
Java
License
Apache-2.0
Repository last updated
Oct 3, 2026
On this page

Overview

Apache Tomcat is a Servlet container for running Java web applications. It implements Jakarta Servlet, Pages (JSP), Expression Language, WebSocket, and related web specifications while providing deployment, HTTP connectors, sessions, JNDI resources, TLS, and operational configuration.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Provide a runtime for Servlet, JSP, and WebSocket applications

Tomcat 11 implements Jakarta Servlet 6.1, Pages 4.0, Expression Language 6.0, WebSocket 2.2, and related specifications. Java web applications can be deployed as WAR files or expanded directories and served through the container.

Sources: [1][3]

Manage connectors, sessions, and resources at the server layer

HTTP/HTTPS connectors, sessions, JNDI DataSources, Realms, access logs, and related operational settings can be managed at the server layer, separating application code from runtime configuration.

Sources: [3][4]

Separate binaries and instance configuration with CATALINA_HOME and CATALINA_BASE

Tomcat binaries can live under CATALINA_HOME while per-instance configuration, logs, and webapps are placed under CATALINA_BASE, simplifying multi-instance operation and upgrades.

Sources: [5]

Best fit

Fits self-operated Java web applications built on Servlet and JSP

Tomcat is a standard option for self-operating Servlet-based applications, existing WAR deployments, internal business systems, and frameworks such as Spring MVC that run on the Servlet stack.

Sources: [1][3]

Before adoption

Tomcat 11.0.26 requires Java 17+ and the Jakarta EE 11 web generation

Tomcat 11.0.26 requires Java 17 or newer and implements the Jakarta EE 11 web specification generation including Servlet 6.1 and Pages 4.0. Applications and libraries must be compatible with that generation.

Sources: [3][6]

10.1 and 9.0 remain parallel lines with different specification targets

Tomcat 10.1.60 targets the Jakarta EE 10 web generation, while Tomcat 9.0.122 targets Java EE 8. Support for the 9.0.x line is announced to end on March 31, 2027, so legacy deployments should plan their release-line migration.

Sources: [2]

Moving from 9 or earlier to 10/11 requires the javax-to-jakarta transition

Tomcat 10 and later use jakarta.* API packages after the Java EE to Jakarta EE transition. Check source and binary compatibility of applications and dependencies and use the official migration tooling where appropriate.

Sources: [2][6]

Official sources

  1. [1]Apache Tomcat README(2026-10-03)
  2. [2]Apache Tomcat releases(2026-10-03)
  3. [3]Apache Tomcat 11.0 documentation(2026-10-03)
  4. [4]Apache Tomcat 11 configuration reference(2026-10-03)
  5. [5]Apache Tomcat RUNNING.txt(2026-10-03)
  6. [6]Tomcat 11 migration guide(2026-10-03)
Supplemental curator note

When selecting a Java web runtime, match the Tomcat major line to the application's Servlet and Jakarta EE generation first. Moving from Tomcat 9 or earlier to 10/11 includes the javax.* to jakarta.* namespace change and should not be treated as a server-only upgrade.

Try it in 3 steps

  1. 1

    Download and extract Tomcat 11.0.26

    Tomcat 11 requires Java 17 or newer. For production use, also verify the PGP signature or SHA-512 checksum from the official download page.

    curl -LO https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.26/bin/apache-tomcat-11.0.26.tar.gz && tar xzf apache-tomcat-11.0.26.tar.gz
  2. 2

    Start Tomcat in the foreground

    This example targets a Unix-like environment and keeps the server in the foreground for local verification.

    cd apache-tomcat-11.0.26 && bin/catalina.sh run
  3. 3

    Request the default page

    A returned Tomcat default page confirms the minimal setup. Stop the foreground process with Ctrl+C.

    curl http://localhost:8080/
Check the official README

Growth

Growth trends · Last 30 days

8,258 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
245
Open PRs
35

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • javaee
  • http
  • java
  • network-server
  • tomcat
Stars
8,258
Forks
5,402
Watchers
472
Open issues
0
Contributors
162
Owner type
Organization
Primary language
Java
License
Apache-2.0
Repository last updated
Oct 3, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?