7. Servlet Life Cycle

 Servlet Life Cycle

Servlet life cycle can be described as a series of steps through which a servlet goes during its life span, starting from loading till it gets destroyed.


Web Server: It is also known as HTTP Server, it can handle HTTP Requests send by client and responds the request with an HTTP Response.

|

-  Web Container: Also known as Servlet Container and Servlet Engine. It is a part of Web Server that interacts with Servlets. This is the main component of Web Server that manages the life cycle of Servlets.


Servlet life cycle contains five steps: 

1) Loading of Servlet 

2) Creating instance of Servlet 

3) Invoke init() once 

4) Invoke service() repeatedly for each client request 

5) Invoke destroy()



Step 1: Loading of Servlet

When the web server (e.g. Apache Tomcat) starts up, the servlet container deploy and loads all the servlets.


Step 2: Creating instance of Servlet

Once all the Servlet classes loaded, the servlet container creates instances of each servlet class. Servlet container creates only once instance per servlet class and all the requests to the servlet are executed on the same servlet instance.


Step 3: Invoke init() method

Once all the servlet classes are instantiated, the init() method is invoked for each instantiated servlet. This method initializes the servlet. There are certain init parameters that you can specify in the deployment descriptor (web.xml) file. 

Note: The init() method is called only once during the life cycle of servlet


Step 4: Invoke service() method

Each time the web server receives a request for servlet, it generate a new thread that calls service() method. If the servlet is GenericServlet then the request is served by the service() method itself, if the servlet is HttpServlet then service() method receives the request and dispatches it to the correct handler method based on the type of request.


Note: Unlike init() and destroy() that are called only once, the service() method can be called any number of times during servlet life cycle. As long as servlet is not destroyed, for each client request the service() method is invoked.

Out of all the 5 steps in life cycle, this is the only step that executes multiple times.


Step 5: Invoke destroy() method

When servlet container shuts down(this usually happens when we stop the web server), it unloads all the servlets and calls destroy() method for each initialized servlets.



Comments

Popular posts from this blog

2. JSP Scripting elements & Directives

1. JSP Introduction And Life-Cycle

3. JSP Action Tag and Expression Language