This is the top-level entry point of the documentation bundle for the
Apache Tomcat Servlet/JSP container. Apache Tomcat version
9.0 implements the Servlet 4.0 and JavaServer Pages 2.3
specifications from the
Java Community Process, 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
- Deployer -
Operating the Apache Tomcat Deployer to deploy, precompile, and validate web
- 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.
- Security Manager
- Configuring and using a Java Security Manager to
support fine-grained control over the behavior of your web applications.
- JNDI Resources
- Configuring standard and custom resources in the JNDI naming context
that is provided to each web application.
- Configuring a JNDI DataSource with a DB connection pool.
Examples for many popular databases.
- Information about class loading in Apache Tomcat, including where to place
your application classes so that they are visible.
- Information about Jasper configuration, as well as the JSP compiler
- SSL/TLS -
Installing and configuring SSL/TLS support so that your Apache Tomcat will
serve requests using the
- 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 superior performance, scalability and better
integration with native server technologies.
- Virtual Hosting -
Configuring virtual hosting in Apache Tomcat.
- Advanced IO -
Extensions available over regular, blocking IO.
- Additional Components -
Obtaining additional, optional components.
- 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.
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
- Changelog - Details the
changes made to Apache Tomcat.
- Status -
Apache Tomcat development status.
- Developers - List of active
Apache Tomcat contributors.
- Functional Specifications
- Requirements specifications for features of the Catalina servlet
container portion of Apache Tomcat.
- Javadoc API documentation for Apache Tomcat's internals.
- Apache Tomcat Architecture
- Documentation of the Apache Tomcat Server Architecture.