Java.Servlet.What is a “servlet container”?

A servlet container (also known as a servlet engine) is a part of a web server or application server that manages and executes Java servlets.


🔧 In simple terms:

A servlet container is the runtime environment for servlets — it:

  • Loads servlet classes
  • Manages their lifecycle (init, service, destroy)
  • Handles HTTP requests/responses
  • Manages threading, resource pooling, session tracking, etc.

🧠 Think of it like:

🧊 JVM runs Java classes
🧱 Servlet container runs servlet classes inside a web app

💼 Common Servlet Containers

Servlet ContainerDescription
Apache TomcatMost popular standalone servlet container
JettyLightweight, embeddable container
GlassFishFull Java EE server (includes servlet engine)
WildFly (JBoss)Java EE server (servlets + more)
UndertowLightweight, async servlet engine (used by WildFly)

🔄 Servlet Lifecycle (Managed by Container)

1. Class loading ➜
2. init()        ➜
3. service()     ➜ (runs on each request)
4. destroy()

The container ensures:

  • One servlet class instance (singleton)
  • Multiple threads for concurrent requests
  • Clean up after lifecycle ends

📦 Example in Tomcat:

  • You deploy a .war (Web Archive)
  • Tomcat loads your servlet and maps it to a URL like /login
  • When a request hits /login, Tomcat passes it to your servlet’s doGet() or doPost()

🚀 Features a servlet container provides:

  • HTTP request/response handling
  • URL-to-servlet mapping
  • Session management
  • Security (authentication, authorization)
  • Multithreading
  • Resource management (connection pools, caching)
This entry was posted in Без рубрики. Bookmark the permalink.