Call for New Batch / Any Query / Demo Classes : ☎ 08871209400 , 7987028543 , Zone-2,M.P.Nagar,Bhopal

Life cycle of a servlet

The lifecycle of a servlet is controlled by the container in which the servlet has been deployed. When a request is mapped to a servlet, the container performs the following steps.

1. If an instance of the servlet does not exist, the web container:

● Loads the servlet class
● Creates an instance of the servlet class

Initializes the servlet instance by calling the init method (initialization is covered in Creating and Initializing a Servlet)

2. The container invokes the service method, passing request and response objects. Service methods are discussed in Writing Service Methods.

If it needs to remove the servlet, the container finalizes the servlet by calling the servlet's destroy method. For more information, see Finalizing a Servlet.

Handling Servlet Lifecycle Events

You can monitor and react to events in a servlet's lifecycle by defining listener objects whose methods get invoked when lifecycle events occur. To use these listener objects, you must define and specify the listener class.

Defining the Listener Class

You define a listener class as an implementation of a listener interface. Table 15-1 lists the events that can be monitored and the corresponding interface that must be implemented. When a listener method is invoked, it is passed an event that contains information appropriate to the event.

ObjectEventListener Interface and Event Class
Web contextInitialization and destructionjavax.servlet.ServletContextListener and ServletContextEvent
Web contextAttribute added, removed, or replacedjavax.servlet.ServletContextAttributeListener and ServletContextAttributeEvent
SessionCreation, invalidation, activation, passivation, and timeoutjavax.servlet.http.HttpSessionListener, javax.servlet.http.HttpSessionActivationListener, and HttpSessionEvent
SessionAttribute added, removed, or replacedjavax.servlet.http.HttpSessionAttributeListener and HttpSessionBindingEvent
RequestA servlet request has started being processed by web componentsjavax.servlet.ServletRequestListener and ServletRequestEvent
RequestAttribute added, removed, or replacedjavax.servlet.ServletRequestAttributeListener and ServletRequestAttributeEvent

Three methods are central to the life cycle of a servlet. These are init(), service(), and destroy(). They are implemented by every servlet and are invoked at specific times by the server.

• During initialization stage of the servlet life cycle, the web container initializes the servlet instance by calling the init() method, passing an object implementing the javax.servlet.ServletConfig interface. This configuration object allows the servlet to access name-value initialization parameters from the web application.
• After initialization, the servlet instance can service client requests. Each request is serviced in its own separate thread. The web container calls the service() method of the servlet for every request.
• Finally, the web container calls the destroy() method that takes the servlet out of service. The destroy() method, like init(), is called only once in the lifecycle of a servlet.

The following example servlet prints how many times its service() method was called.
The service() method of HttpServlet class dispatches requests to the methods doGet(), doPost(), doPut(), doDelete(), and so on; according to the HTTP request. In the example below service() is overridden and does not distinguish which HTTP request method it serves.


import java.io.IOException;
 
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletLifeCycleExample extends HttpServlet {
 
    private int count;
 
    @Override
    public void init(final ServletConfig config) throws ServletException {
        super.init(config);
        getServletContext().log("init() called");
        count = 0;
    }
 
    @Override
    protected void service(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
        getServletContext().log("service() called");
        count++;
        response.getWriter().write("Incrementing the count to " + count);
    }
 
    @Override
    public void destroy() {
        getServletContext().log("destroy() called");
    }
}

References : oracle | wikipedia « Privious Post » « Next Post » share on :        :  

Love to hear your Views / Guidance / Recommendations on this Post…

More Programming Topics

Key Features of the Java LanguageJava is simpler than most other languages that are used to create server applications because of its consistent enforcement of the object model.Introduction To JavaThe following sections explain how Java technology is both a programming language and a platform and provide an overview of what this technology can do for youChaining Constructor using SuperIf a subclass constructor invokes a constructor of its superclass either explicitly or implicitly there will be a whole chain of constructors called all the way back to the constructor of Object.Multilevel Inheritance in JavaMultilevel Inheritance is said to have taken place when a child class inherits from a parent class and then child class becomes the parent class for another class.Interface Inheritance JavaAn Interface declaration consists of modifiers the keyword interface the interface name a comma separated list of parent interfaces and the interface body.Inheritance in JavaA class that is derived from another class is called a subclass. The class from which the subclass is derived is called a superclass. This process of inheriting properties from another class is called Inheritance.White Spaces in JavaWhite Space is a character in Java. A character satisfies to be a White Space if and only if it is a Unicode space character.Serialization and Deserialization JavaTo serialize an object means to convert its state to a byte stream so that the byte stream can be reverted back into a copy of the object.Implementations in Collection FrameworkImplementations are the data objects used to store collections, which implement the interfaces described in the Interfaces section.

Explore the Technology World

An introduction to YouTube's new designThe Challenge Facing YouTube’s Design and Interaction Team When They Launched the Redesign Two Years Ago Was How to Tie Together a Host of Products with Very Different Audiences and UsesSpace Station Crew Member Discusses His First Days in Space with Minnesota StudentsAboard the International Space Station, Expedition 53 Flight Engineer Mark Vande Hei of NASA fielded questions about life and work on the orbital outpost during an in-flight educational event Sept. 18 with students from the Pine River-Backus schools in Pine River, MinnesotaSpace Station Crew Members Discuss Life in Space with the MediaAboard the International Space Station, Expedition 53 Flight Engineers Mark Vande Hei and Joe Acaba of NASA and Paolo Nespoli of the European Space Agency discussed life and work aboard the orbital complex in a pair of in-flight interviewsBeyond Mobile Server Games with Visual Studio for MacYou know that Visual Studio for Mac does Xamarin, but do You know what Else? We'll take a look at using Visual Studio for Mac for Mobile, Web, Game, Server less and IoT Development, and Connecting them with .NET Standard 2.0An introduction to YouTube's new designhe Challenge Facing YouTube’s Design and Interaction Team When They Launched the Redesign Two Years Ago Was How to Tie Together a Host of Products with Very Different Audiences and UsesAndroid Oreo Safer Than EverProtecting you from harm’s way. Android Oreo is more Secure than Ever.With Google Play Protect Built in, You’ll have Peace of Mind in the Palm of Your Hands

Call / Visit for New Batch

Services

Why Join Us

  • ➯ Free Demo Classes
  • ➯ No Registration Fee
  • ➯ Interview Questions
  • ➯ Study Materials
  • ➯ Softwares
  • ➯ Aptitude & Reasoning
  • ➯ Placement Assitance

Address

  • MyJava Training Institute ,
  • Plot No.243 , shop No 14 ,
  • Secnd Floor , Zone-II ,
  • M.P.Nagar , Bhopal,
  • Madhya Pradesh ( 462011 )
  • ☎  08871209400 , 7987028543
  • 🌐 www.myjava.in
FacebookGoogle +TwitterYouTube

MyJava - java Training Institute