When a user clicks a JSF button or link or changes any value in text field, JSF UI component fires event which will be handled by the the application code.
1:To handle such JSF event, event handler are to be registered in the application code or managed bean.
2: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.
3:Then, Component fires the event, i.e., checks the list of listeners for that event and call the event notification method on each listener or handler.
4: JSF also provide system level event handlers which can be used to do some tasks when application starts or is stopping.