声明式的 | 编写好过滤器之后,在动态调用过滤器来处理客户请求以及响应之前,需要在web.xml配置文件中声明这个过滤器 |
动态的 | 通过部署配置文件(web.xml),过滤器在运行时会动态的由Servlet容器调用特定方法来拦截和处理请求和响应 |
灵活的 | 过滤器在web应用处理过程中使用很广泛,并且可以将多个过滤器链接起来以提供更多必需的功能 |
模块化的 | 通过将应用程序中对请求和响应进行的逻辑处理封装到单个类文件中,形成一个模块化单元,可以容易的进行添加和删除 |
可移植的 | 与java平台中开发的其他许多类文件一样,servlet过滤器也是跨平台、跨容器以及可移植的 |
可重用的 | 由于过滤器实现类的模块化设计,以及通过部署文件(web.xml)进行声明的配置方式,过滤器可以很容易实现重用性 |
透明的 | 允许对客户端请求和响应编写特定的过滤器,但是这是对jsp页面数据的一个额外处理,它不会破坏servlet或jsp页面程序 |
二、过滤器的执行过程
1、根据配置文件(web.xml)中对过滤器的配置,特定过滤器会捕捉到客户端请求信息。
2、过滤器调用内置方法来检查捕获到的请求对象,并做响应的处理。
3、在客户端请求通过过滤器被服务器处理后,最终响应将以相反的顺序通过过滤器链最后发送给客户端。