chain.doFilter 在 Filter.doFilter 方法中做什么?
2022-09-01 00:31:43
在 Filter.doFilter
方法中,我调用了 chain.doFilter
。
里面在做什么?这不是递归调用吗?doFilter
doFilter
在 Filter.doFilter
方法中,我调用了 chain.doFilter
。
里面在做什么?这不是递归调用吗?doFilter
doFilter
Servlet Filters 是责任链设计模式的实现。
所有筛选器都是链接的(按它们在 Web 中的定义顺序.xml)。正在进入链中的下一个元素。链的最后一个元素是目标资源/servlet。chain.doFilter()
它调用的是对象的方法,而不是它本身,所以不,它不会是递归的。doFilter
chain
该名称表明您有一个筛选器序列,每个筛选器执行一些处理,然后按顺序传递给下一个筛选器,因此每个对象都有一个成员指向序列中的下一个筛选器,该成员在筛选器执行自己的处理后被调用。然后,序列中的最后一个可能具有值,或者它自己知道它是序列中的最后一个。chain
chain
null
chain