본문 바로가기
개발 (ENG)

Understanding Tomcat, JEUS, WAS, and the Servlet Container — How Web Requests Are Processed

by 새싹 아빠 2025. 11. 3.

When developing backend systems, you’ll often encounter terms like Tomcat, JEUS, WAS, and Servlet Container.
At first, it can be confusing — “What exactly does each one do?”
This post organizes those concepts in one place and explains, step by step, what actually happens when a client sends an API request.

 

1️⃣ What is a Web Server?

A web server is, quite literally, a server that receives HTTP requests and returns static files (HTML, CSS, JS, images, etc.).
Typical examples are Nginx and Apache HTTP Server.

A web server simply receives the request → locates the file → returns the response.
It does not execute code or communicate with a database.

 

2️⃣ What is a WAS (Web Application Server)?

A WAS is one step more advanced than a web server.
It receives web requests and executes Java code (Servlets, JSP, Spring, etc.) to generate dynamic results.

In simple terms, it’s a combination of a Web Server + Java Executor (Servlet Container).
It handles business logic, communicates with the database, and returns JSON or HTML responses.

➕ Common WAS examples:
- Tomcat (lightweight, Servlet-only WAS)
- JEUS, WebLogic, WebSphere (enterprise-grade full-stack WAS)

 

3️⃣ What Does Tomcat Do?

Tomcat is a Servlet Container.
That means it handles only the part of a WAS responsible for executing servlets — a lightweight version of a full WAS.

When a request comes in, Tomcat finds the appropriate servlet class, executes it, and produces a response such as HTML or JSON.
That’s why, when you run a Spring Boot project, Tomcat automatically opens a port like http://localhost:8080.

Tomcat is lightweight and fast, but lacks features found in larger WASs like EJB, JMS, or advanced transaction managers.
So you can think of it as a simplified WAS that provides only the servlet execution part.

 

4️⃣ What Does JEUS Do?

JEUS is a full-fledged WAS developed by TmaxSoft in Korea.
It’s much more comprehensive than Tomcat and includes features such as:

  • Servlet/JSP execution (includes Tomcat-like functionality)
  • Enterprise features like EJB, JTA, and JMS
  • Transaction and session clustering
  • Security, monitoring, and deployment management

In short, JEUS is a complete system combining a web server, servlet container, and enterprise service management features.

 

5️⃣ What is a Servlet Container?

A Servlet Container is the module that executes servlets and manages their lifecycle.
A servlet is simply a Java class that handles web requests and responses.

The container receives a request, finds the right servlet instance, executes it, and cleans it up afterward.

In short, Tomcat itself acts as a Servlet Container ☕️

 

6️⃣ What Happens When a Client Calls an API? 🔍

Let’s go through the actual process step by step:

 

Step 1 – Client Request
A browser or app sends a request like https://myserver.com/api/login.

 

Step 2 – Web Server (Gateway) Receives It
The request first reaches a web server such as Nginx, Apache, or a JEUS gateway Tomcat.
If it’s a static file, the web server responds immediately. If it’s a dynamic request, it forwards it to the WAS.

 

Step 3 – Forward to the WAS
The web (gateway) server forwards the request to the internal WAS.
This is also where headers, IPs, or tokens can be validated.

 

Step 4 – Servlet Container Execution
Tomcat (or the Tomcat module inside JEUS) analyzes the request URL and executes the corresponding servlet (e.g. Spring’s DispatcherServlet).

 

Step 5 – Business Logic Execution
The request flows through Servlet → Controller → Service → Repository → Database, where the server executes logic and generates a JSON or HTML response.

 

Step 6 – Response
Tomcat sends the generated response back to the client as an HTTP Response.

In short, a client’s request flows through Web Server → WAS → Servlet Container → Code → Response.

 

7️⃣ Overall Architecture

[Client]
   ↓
[Web Server or Gateway]
   ↓
[WAS (JEUS, Tomcat)]
   └── [Servlet Container]
         └── DispatcherServlet → Controller → Service → Repository → DB

To summarize 👇
- Web Server → Handles incoming requests and static files
- WAS → Executes Java code and connects to the DB
- Servlet Container → Runs servlets inside the WAS
- Tomcat → Lightweight WAS focusing on servlet execution
- JEUS → Enterprise-level integrated Web + WAS system

 

Conclusion ✨

Tomcat and JEUS belong to the same family of technologies, but their purpose and scale are different.
Tomcat is a lightweight servlet execution server, while JEUS is a full enterprise-grade WAS.

If you can visualize the flow (Client → Web Server → WAS → Servlet → Response), you’ll have a solid understanding of how modern web applications work