This is the top-level entry point of the documentation bundle for the
Apache Tomcat Servlet/JSP container. Apache Tomcat version
12.0 implements the Servlet 6.0 and Pages 4.0
specifications from
Jakarta EE, and includes many
additional features that make it a useful platform for developing and deploying
web applications and web services.
Select one of the links from the navigation menu (to the left) to drill
down to the more detailed documentation that is available. Each available
manual is described in more detail below.
The following documents will assist you in downloading and installing
Apache Tomcat, and using many of the Apache Tomcat features.
- Introduction - A
brief, high level, overview of Apache Tomcat.
- Setup - How to install and run
Apache Tomcat on a variety of platforms.
- First web application
- An introduction to the concepts of a web application as defined
in the Servlet Specification. Covers basic organization of your web application
source tree, the structure of a web application archive, and an
introduction to the web application deployment descriptor
(
/WEB-INF/web.xml
).
- Deployer -
Operating the Apache Tomcat Deployer to deploy, precompile, and validate web
applications.
- Manager -
Operating the Manager web app to deploy, undeploy, and
redeploy applications while Apache Tomcat is running.
- Host Manager -
Operating the Host Manager web app to add and remove
virtual hosts while Apache Tomcat is running.
- Realms and Access Control
- Description of how to configure Realms (databases of users,
passwords, and their associated roles) for use in web applications that
utilize Container Managed Security.
- JNDI Resources
- Configuring standard and custom resources in the JNDI naming context
that is provided to each web application.
-
JDBC DataSource
- Configuring a JNDI DataSource with a DB connection pool.
Examples for many popular databases.
- Classloading
- Information about class loading in Apache Tomcat, including where to place
your application classes so that they are visible.
- JSPs
- Information about Jasper configuration, as well as the JSP compiler
usage.
- SSL/TLS -
Installing and configuring SSL/TLS support so that your Apache Tomcat will
serve requests using the
https
protocol.
- SSI -
Using Server Side Includes in Apache Tomcat.
- CGI -
Using CGIs with Apache Tomcat.
- Proxy Support -
Configuring Apache Tomcat to run behind a proxy server (or a web server
functioning as a proxy server).
- MBeans Descriptors -
Configuring MBean descriptors files for custom components.
- Default Servlet -
Configuring the default servlet and customizing directory listings.
- Apache Tomcat Clustering -
Enable session replication in a Apache Tomcat environment.
- Balancer -
Configuring, using, and extending the load balancer application.
- Connectors -
Connectors available in Apache Tomcat, and native web server integration.
- Monitoring and Management -
Enabling JMX Remote support, and using tools to monitor and manage Apache Tomcat.
- Logging -
Configuring logging in Apache Tomcat.
- Apache Portable Runtime -
Using APR to provide access to OpenSSL for TLS support.
- Virtual Hosting -
Configuring virtual hosting in Apache Tomcat.
- Advanced IO -
Extensions available over regular, blocking IO.
- Using Tomcat libraries with Maven -
Obtaining Tomcat jars through Maven.
- Security Considerations -
Options to consider when securing an Apache Tomcat installation.
- Windows Service -
Running Tomcat as a service on Microsoft Windows.
- Windows Authentication -
Configuring Tomcat to use integrated Windows authentication.
- High Concurrency JDBC Pool -
Configuring Tomcat to use an alternative JDBC pool.
- WebSocket support -
Developing WebSocket applications for Apache Tomcat.
- URL rewrite -
Using the regexp based rewrite valve for conditional URL and host rewrite.
- CDI and JAX-RS support -
Configuring CDI,JAX-RS and Eclipse Microprofile support.
- AOT compilation support -
Ahead of Time compilation support with GraalVM/Native Image.
The following documents are aimed at System Administrators who
are responsible for installing, configuring, and operating an Apache Tomcat server.
The following documents are for Java developers who wish to contribute to
the development of the Apache Tomcat project.
- Building from Source -
Details the steps necessary to download Apache Tomcat source code (and the
other packages that it depends on), and build a binary distribution from
those sources.
- Changelog - Details the
changes made to Apache Tomcat.
- Status -
Apache Tomcat development status.
- Developers - List of active
Apache Tomcat contributors.
- Javadocs
- Javadoc API documentation for Apache Tomcat's internals.
- Apache Tomcat Architecture
- Documentation of the Apache Tomcat Server Architecture.