## Table of Contents

### Catalina Functional Specifications

This documentation area includes functional specifications for many features supported by the Catalina servlet container portion of Tomcat. In most cases, these features are not documented in the underlying Servlet or JSP specifications, so a definition of the expected correct behavior is important both to implementors of those features, and to test writers trying to decide what to test.

The functional specifications are divided into the following categories in the menu (to the left):

- Administrative Apps - Overall requirements for supporting an ability to configure and operate a Tomcat installation through tools, as well as detailed requirements for the tools themselves.
- Internal Servlets - Requirements for Catalina features that are implemented as internal, container-managed, servlets.
- Realm Implementations - Requirements for the implementations of the `org.apache.catalina.Realm` interface (providing access to collections of users, passwords and roles) that are included in the standard Tomcat distribution.

NOTE - In some cases, the contents of these functional specs has been "reverse engineered" from existing implementations. This exercise is still useful, because it provides an introduction to what Catalina does, without being as concerned with how this is accomplished.

TODO - Obviously, this area has a long way to go before it is complete. Contributions are welcome!