When a user clicks a JSF button or link or changes any value in the text field, the JSF UI component fires an event which will be handled by the application code. To handle such JSF events, event handlers are to be registered in the application code or managed bean. When a UI component checks that a user event has happened, it creates an instance of the corresponding event class and adds it to an event list. Then, the Component fires the event, i.e., checks the list of listeners for that event and calls the event notification method on each listener or handler.JSF also provides system-level event handlers which can be used to do some tasks when the application starts or is stopping.