1.过滤器简述
Filter 也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:
例如Servlet, 从而实现一些特殊的功能。
例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
2.过滤器的作用
对服务器web资源进行拦截 (权限控制,通过拦截资源进行权限控制,是否可以访问)
3.过滤器怎么创建?
Servlet API中提供了一个 Filter接口 ,开发web应用时,如果编写的Java类 实现了这个接口 ,则把这个java类称之为 过滤器Filter 。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应 进行拦截
4.过滤器接口
Servlet API 中,与过滤器有关的API共有三个接口,分别是
● Filter
● FilterChain
● FilterConfig
5.Filter接口
Filter接口是过滤器类必须实现的接口,该接口中有三个方法:
● init(FilterConfig filterConfig):
该方法是对filter对象进行初始化的方法,仅在容器初始化filter对象结束后被调用一次。参数
FilterConfig可以获得filter的初始化参数。
● doFilter(ServletRequest request, ServletResponse response, FilterChain chain):
该方法是filter进行过滤操作的方法,是最重要的方法。过滤器实现类必须实现该方法。方法体中可以对request和response进行预处理。其中FilterChain可以将处理后的request和response对象传递到过滤链上的下一个资源。
● destroy():
该方法在容器销毁过滤器对象前被调用
6.过滤器的特点
● 过滤器用来实现通用的功能, 减少代码冗余 ,提高可维护性
● 一个过滤器 可以配置给 多个资源 使用
● 一个资源 也可以配置 多个过滤器 ,按照配置顺序调用