A web container is the component of a web server that interacts with Java servlets. A web container manages the life cycle of servlets; it maps a URL to a particular servlet while ensuring that the requester has relevant access-rights.
The web container implements the web component aspect of the Java engineering architecture; it specifies a run time environment for various components such as security, concurrency, transaction, and deployment.
Java servlets do not have a defined main()
method, so a container is required to load them. The servlet gets deployed on the container.
Let’s have a look at what happens when a client sends a certain request that requires interaction with the servlet:
The client sends a request to a web server.
The web server, which contains a servlet, sends that request to the container.
The container passes the request to the respective servlet.
The servlet methods are loaded.
The servlet hands over the relevant response to the container, which passes it to the server. Eventually, the response reaches the client.