Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions java/org/apache/catalina/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# org.apache.catalina

## Overview

The `org.apache.catalina` package implements the Catalina Servlet container,
which is responsible for hosting web applications and managing their lifecycle.

Catalina provides the core implementation of the Jakarta Servlet
specification and forms the heart of Apache Tomcat.

---

## Responsibilities

This package includes components responsible for:

- Managing the server hierarchy
- Deploying web applications
- Processing servlet requests
- Managing sessions


- Lifecycle management
- Container event processing

---

## Container Hierarchy

```
Server
└── Service
├── Connector
└── Engine
└── Host
└── Context
└── Wrapper (Servlet)
```

---

## Important Interfaces

| Interface | Purpose |
|------------|---------|
| Container | Base interface for Catalina containers |
| Context | Represents a web application |
| Host | Represents a virtual host |
| Engine | Top-level request processor |
| Pipeline | Request processing chain |
| Valve | Request interceptor |
| Lifecycle | Start/stop components |

---

## Common Entry Points

- StandardServer
- StandardService
- StandardEngine
- StandardHost
- StandardContext

---

## Related Packages

- org.apache.coyote
- org.apache.tomcat.util
- org.apache.naming
- org.apache.jasper

---

## See Also

- BUILDING.txt
- RUNNING.txt
- Architecture documentation
54 changes: 54 additions & 0 deletions java/org/apache/coyote/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# org.apache.coyote

## Overview

The `org.apache.coyote` package provides the protocol implementation layer
between the network connector and the Catalina servlet container.

It is responsible for translating incoming protocol requests into servlet
requests that Catalina can process.

---

## Responsibilities

- HTTP/1.1 processing
- HTTP/2 support
- AJP protocol
- Request parsing
- Response generation
- Protocol abstraction

---

## Request Flow

```
Socket


ProtocolHandler


Processor


Adapter


Catalina
```

---

## Important Classes

- AbstractProtocol
- Http11Processor
- Adapter
- Request
- Response
30 changes: 30 additions & 0 deletions java/org/apache/tomcat/util/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# org.apache.tomcat.util

## Overview

Utility classes shared across Tomcat components.

This package contains reusable infrastructure that supports networking,
buffer management, threading, scanning, compatibility utilities, logging,
and configuration.

---

## Main Modules

- buf
- net
- threads
- compat
- scan
- descriptor
- modeler

---

## Used By

- Catalina
- Coyote
- Jasper
- WebSocket