diff --git a/java/org/apache/catalina/README.md b/java/org/apache/catalina/README.md new file mode 100644 index 000000000000..0e4a564ecda2 --- /dev/null +++ b/java/org/apache/catalina/README.md @@ -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 \ No newline at end of file diff --git a/java/org/apache/coyote/README.md b/java/org/apache/coyote/README.md new file mode 100644 index 000000000000..c82ab9663208 --- /dev/null +++ b/java/org/apache/coyote/README.md @@ -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 \ No newline at end of file diff --git a/java/org/apache/tomcat/util/README.md b/java/org/apache/tomcat/util/README.md new file mode 100644 index 000000000000..fbdcce16b051 --- /dev/null +++ b/java/org/apache/tomcat/util/README.md @@ -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 \ No newline at end of file