
Tech Stack
Java
Linux
Git
Description
HTTP server that handles static and dynamic pages with isolation using class loaders — built in pure Java without servlet containers or Spring.
Each deployed application gets its own URLClassLoader over a JAR file, so Ricmlet implementations are loaded in isolation while sharing the same server process.
- Static resources served from a configurable folder (HTML, images, etc.).
- Dynamic Ricmlets (HttpRicmlet interface) instantiated per application via reflection + URLClassLoader.
- HTTP session management with UUID session IDs and configurable timeout (5 min).
- Worker threads handle concurrent connections; request routing distinguishes static vs Ricmlet URLs.
- Example Ricmlets: counters, cookies, session-scoped state — demonstrates servlet-like patterns at low level.
Page Info
Static & dynamic requests
TCP socket server parses HTTP, serves files from a document root, and dispatches dynamic Ricmlets loaded from isolated application JARs.
