设计模式之责任链模式

接上篇~~ 

 

Tomcat的Filter使用了责任链模式,创建一个Filter除了要在web.xml中配置外,还需要实现javax.servlet.Filter接口

 

真正执行到TestFilter类之前,会经过很多Tomcat的内部类。

ApplicationFilterChain扮演抽象处理者角色,而具体处理者角色由各个Filter扮演。

 

在StandardWrapperValue类的invoke()方法中调用ApplicationFilterChain类的createFilterChain()方法 --> 在ApplicationFilterChain类的createFilterChain()方法中调用ApplicationFilterChain类的addFilter()方法 --> 在ApplicationFilterChain类的addFilter()方法中给ApplicationFilterConfig数组赋值。

在执行完createFilterChain()方法后,会继续执行ApplicationFilterChain类的doFilter()方法,然后在doFilter()方法中会调用internalDoFilter()方法。

posted @ 2019-02-23 23:08  sys_user_findnull  阅读(110)  评论(0)    收藏  举报