如果有多个过滤器,将根据配置文件中的过滤器配置顺序形成过滤器链。所有的秘密都在过滤器的过滤链中。服务器将遵循网站.xml中定义的过滤器按顺序组装成一个链,然后一次执行dofilter()方法。
在调用servlet的service()方法之前,容器将创建一个filterchain,并将servlet作为其内部参数传递到filterchain对象中。创建筛选器链时,将根据请求的uri将合格筛选器添加到链中。然后调用过滤器链的dofilter方法。过滤器链的dofilter方法将按顺序(在网站.xml调用每个过滤器的dofilter方法。当filter的所有dofilter方法都被调用时,servlet的服务方法也被调用。