filters are again Servlets which are used to do some filtering and preprocessing before the actual servlet or resource is invoked.
A filter can be configured for single resource or multiple resource.
One best example for filters is Authentication.
If you want to authenticate a set of resource under http://<server>/myres/ earlier without filters you need to check session validity in each and every resource say servlet or JSP.
Now with filters you can configure a filter and check the session validity in the filter and then the request is automatically redirected to the corresponding resource. The user would not even know that filter exists .