用户在配置filter时,可以使用<init-param>为 filter 配置一些初始化参数,当 web 容器实例化 Filter 对象,调用其 init 方法时,会把封装了 filter 初始化参数的 filterConfig 对象传递进来。因此 FilterConfig 可以获取部署描述符文件(web.xml)中分配的过滤器初始化参数。


在实现了 Filter 接口的 XXXFilter 类的 init() 方法中,有一个参数是 filterConfig 对象,filterConfig 对象有以下的方法:

String getFilterName()  //得到filter的名称。
String getInitParameter(String name)  // 返回在部署描述中指定名称的初始化参数的值。如果不存在返回null.
Enumeration getInitParameterNames()  //返回过滤器的所有初始化参数的名字的枚举集合。
public ServletContext getServletContext()  //返回Servlet上下文对象的引用。
  1. FilterConfig对象提供对servlet环境及web.xml文件中指派的过滤器名的访问。
  2. FilterConfig对象具有一个getInitParameter方法,它能够访问部署描述符文件(web.xml)中分配的过滤器初始化参数。

参考资料

2、Java中的Filter 过滤器
https://tianweili.github.io/2015/01/26/Java%E4%B8%AD%E7%9A%84Filter-%E8%BF%87%E6%BB%A4%E5%99%A8/