There are Filters and Listeners functionality in Servlet. I want to know exact difference between Filter and Listener.
After reading all the answers and blogs this is what I got
Filter
A filter is an object that dynamically intercepts requests and responses to transform or use the information contained in the requests or responses.
Filters typically do not themselves create responses but instead provide universal functions that can be "attached" to any type of servlet or JSP page.
The filter is run before rendering view but after controller rendered response.
A Filter is used in the web layer only as it is defined in web.xml.
Filters are more suitable when treating your request/response as a black box system. They'll work regardless of how the servlet is implemented.
Filters are used to perform filtering tasks such as login authentication ,auditing of incoming requests from web pages, conversion, logging, compression, encryption and decryption, input validation etc.
A Servlet Filter is used in the web layer only, you can't use it outside of a web context.
For more detail on filter http://array151.com/blog/servlet-filter/
Listener
Servlet Listener is used for listening to events in a web container, such as when you create a session or place an attribute in a session or if you passivate and activate in another container, to subscribe to these events you can configure listener in web.xml, for example, HttpSessionListener.
Listeners get triggered for an actual physical request that can be attached to events in your app server .With listeners, you can track application-level, session-level, life-cycle changes, attribute changes etc.
You can monitor and react to events in a servlet's life cycle by defining listener objects whose methods get invoked when lifecycle events occur.
For more detail : http://array151.com/blog/servlet-listener/
and here is the difference http://array151.com/blog/difference-between-servlet-filter-and-servlet-listener/