在适合使用安装过滤器模式或者拦截器模式的任何地方 你都可以使用过滤器 filter的一些普遍应用:
加载:对于到达系统的所有请求 过滤器收集诸如浏览器类型 一天中的时间 转发URL等相关信息 并对它们进行日志记录
性能:过滤器在内容通过线路传来并在到达servlet和JSP页面之前解压缩该内容 然后再取得响应内容 并在将内容发送到客户机机器之前将它转换为压缩格式
安全:过滤器处理身份验证的管理 并适当地限制安全资源的访问 提示用户进行身份验证 或将他们指引到第三方进行身份验证 过滤器甚至能够管理访问控制列表(Access Controle List, ACL) 以便除了身份验证之外还提供授权机制 将安全逻辑放在过滤器中 而不是方在servlet或者JSP页面中 这样提供了巨大的灵活性 在开发期间 过滤器可以关闭(在web.xml文件中注释调) 在生产应用中 过滤器又可以再次启用 此外还可以添加多个过滤器 以便根据需要提高安全 加密和不可拒绝的服务的等级
会话处理:将servlet和JSP页面与会话处理代码混杂在一起可能会带来相当大的麻烦 使用过滤器来管理会话可以让web页面集中精力考虑内容显示和委托处理 而不必担心会话管理的细节
XSLT转换:不管是使用移动客户端还是使用基于XML的web服务器 无需把逻辑嵌入应用程序就在XML语法之间执行转换的能力都绝对是无价的