# jerrymouse **Repository Path**: liaoxuefeng/jerrymouse ## Basic Information - **Project Name**: jerrymouse - **Description**: A mini-tomcat-like server. - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 40 - **Forks**: 24 - **Created**: 2023-07-08 - **Last Updated**: 2026-03-13 ## Categories & Tags **Categories**: webframework **Tags**: None ## README # Jerrymouse Server ![Build Status](https://github.com/michaelliao/jerrymouse/actions/workflows/maven.yml/badge.svg) ![logo](logo.png) # Overview Jerrymouse server is a lightweight servlet container that implements the [Jakarta Servlet 6 specification](https://jakarta.ee/specifications/servlet/6.0/). It serves as a minimalist version of [Apache Tomcat](https://tomcat.apache.org/), focusing on core servlet functionality while maintaining a straightforward architecture that's easy to understand. Jerrymouse server can be downloaded from [Github Release](https://github.com/michaelliao/jerrymouse/releases). # Purpose and Scope Jerrymouse demonstrates the essential concepts of a servlet container in a simplified manner, making it valuable for educational purposes and for understanding how servlet containers work. It implements the core parts of the Jakarta Servlet 6 specification while intentionally excluding more complex features to maintain clarity. # Key Features and Limitations Jerrymouse implements a focused subset of the Jakarta Servlet 6 standard: - Servlet support; - Filter support; - Listener support; - HttpSession support (Cookie-mode only). Unsupported features: - Not support JSP; - Not support async; - Not support WebSocket. Additionally, Jerrymouse has the following deployment constraints: - Supports deploying a single standard web application; - Does not support multiple web application deployment; - Does not support hot reloading of applications. # Tutorial [Chinese Tutorial](https://liaoxuefeng.com/books/jerrymouse/)