Event:
Event is an entity, that notifies someone (listener) when something happens.
There are few kinds of events:
- ServletContextEvent (notifies when the webapp is initialized / when the servlet Context is made)
- ServletRequestEvent (notifies the listener each time the request comes)
Listener:
Listener is an entity that is notified each time an event occurs. It is like a piece of code which runs when an event happens. In other words, when we need to associate some part of code to some event, and we want that code to run only when that specific event occurs, then we use event listeners.
Types:
Few event listeners are mentioned below:
ServletContextListener (Initializes resources and performs setup when the web application starts and shuts down).HttpSessionListener (Notifies when a user's session is created or destroyed).ServletRequestListener (Notifies when an HTTP request enters or leaves the application).HttpSessionAttributeListener (Notifies when an attribute is added, removed, or replaced in a session.)
Servlet Context Listener:
Here we should discuss about ServletContextListener:
ServletContextListeneris an interface which we implement in a class. In simple words it is used to make objects or implement logic for the webapp.
For Example: We get initParameters of ServletContext given in the web.xml and set an attribute in the ServletContext instance.
As we know that we can't set objects as parameters, so we use Context listener to set the attributes in the servlet context which we can get in our servlet.
getAttribute() returns Object type, so we need to cast it to our desired instance type.
Why we need listeners?
So, we can conclude that these are our flags or signals, when we need to run some code after a specific event, e.g. after a session starts, or after an attribute is created, then we use listeners of that specific event.
Comments
Post a Comment