1.对于web应用程序,过滤器是驻留在web服务器上的web组件,他可以过滤从客户端传递到服务器端的请求和响应
2.在web应用程序中,可以部署多个过滤器,这些过滤器组成一个过滤器链.链中的每个过滤器负责特定的操作和任务,客 户端的请求和响应在这些过滤器之间传递.
3.Servlet中指出了过滤器的一些常见应用,包括:
>认证过滤:对用户请求进行统一的认证.
>登录和审核过滤:对用户的访问请求进行记录和审核.
>图像转换过滤:转换图像的格式
>数据压缩过滤:对用户发生的数据进行压缩,从而减少传输量
>加密过滤:对请求和响应进行加密解密处理
>令牌过滤
>资源访问触发事件过滤.
>xslt过滤
>MIME-type过滤
4.配置文件:
<web-app>
<filter>
<!--指定过滤器名字-->
<filter-name></filter-name>
<!--指定过滤器的类-->
<filter-class></filter-class>
</filter>
<filter-mapping>
<filter-name></filter-name>
<!--将过滤器与URL模式相关联-->
<url-pattern><url-pattern>
</filter-mapping>
</web-app>
5.过滤器API
Filter接口:
方法:
Void init(FilterConfig):在程序启动时,由容器调用
Void doFilter(ServletRequest,ServletResponse,FilterChain):对于每个URL映射到该过滤器的请求时,
由容器调用该方法.
Void destroy():在应用程序关闭时,由容器调用
在该接口中分chain.doFilter(request,response);
前后,在前的过滤后,再放行,放行后响应回来再做什么事情
6.FilterConfig接口:
方法:
String getFiltername():返回在部署文件中指定的过滤器的名称
String getInitParameter(String):返回早部署文件中指定的参数的值
Enumeration getInitParameterNames():返回部署描述文件中指定的所有参数的名称
ServletContext getServletContext():返回web应用程序的ServletContext.过滤器可以使用ServletContext设置
,获取Application范围内的属性.