Servlet and life cycle of java servlet with all function in detail

What is a servlet? Define the complete life cycle of the java servlet with all function details.

A servlet is a Java programming language class that is used to extend the capabilities of servers that host applications accessed using a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by web servers. A servlet life cycle can be defined as the entire process from its creation to destruction. The following are the paths followed by a servlet.


  • The servlet is initialized by calling the init() method.
  • The servlet calls service() method to process a client's request.
  • The servlet is terminated by calling the destroy() method.
  • Finally, the servlet is garbage collected by the garbage collector of the JVM

Now let us discuss the life cycle methods in detail.

The init() Method


The init method is called only once. It is called only when the servlet is created, and not called for any user requests afterward. So, it is used for one-time initializations, just as with the init method of applets.

The servlet is normally created when a user first invokes a URL corresponding to the servlet, but you can also specify that the servlet is loaded when the server is first started.

When a user invokes a servlet, a single instance of each servlet gets created, with each user request resulting in a new thread that is handed off to doGet or doPost as appropriate. The init() method simply creates or loads some data that will be used throughout the life of the servlet.

The init method definition looks like this −

public void init() throws ServletException {

// Initialization code...

}

The service() Method

The service() method is the main method to perform the actual task. The servlet container (i.e. web server) calls the service() method to handle requests coming from the client( browsers) and to write the formatted response back to the client.

Each time the server receives a request for a servlet, the server spawns a new thread and calls service. The service() method checks the HTTP request type (GET, POST, PUT, DELETE, etc.) and calls doGet, doPost, doPut, doDelete, etc. methods as appropriate.

Here is the signature of this method −

public void service(ServletRequest request,

ServletResponse response)

throws ServletException, IOException {

}


The service () method is called by the container and the service method invokes doGet, doPost, doPut, doDelete, etc. methods as appropriate. So you have nothing to do with the service() method but you override either doGet() or doPost() depending on what type of request you receive from the client.

The doGet() and doPost() are the most frequently used methods in each service request. Here is the signature of these two methods.

The destroy() Method

The destroy() method is called only once at the end of the life cycle of a servlet. This method gives your servlet a chance to close the database connections, halt background threads, write cookie lists or hit counts to disk, and perform other such cleanup activities.

After the destroy() method is called, the servlet object is marked for garbage collection.

The destroy method definition looks like this −

public void destroy() {

// Finalization code...

}


See Enterprice Application Punjab University Solved Past Paper 2020

Get updates in your Inbox
Subscribe