扫盲

分类

• 动态注册servlet/filter/listener(使用 servlet-api 的具体实现)

• 动态注册interceptor/controller(使用框架如 spring/struts2)

• 动态注册使用职责链设计模式的中间件、框架的实现(例如 Tomcat的Pipeline&Valve,Grizzly的FilterChain&Filter等等)

• 使用java agent技术写入字节码

类 变量 作用

FilterMaps: FilterMaps中的FilterMap则记录了不同filter与UrlPattern的映射关系

FilterDefs:FilterDefs成员变量是一个HashMap对象,存储了filter名称与相应FilterDef的对象的键值对,而FilterDef对象则存储了Filter包括名称、描述、类名、Filter实例在内等与filter自身相关的数据

FilterConfigs:是一个HashMap对象,里面存储了filter名称与对应的ApplicationFilterConfig对象的键值对,在ApplicationFilterConfig对象中则存储了Filter实例以及该实例在web.xml中的注册信息。

FilterChain:过滤器链,该对象上的 doFilter 方法能依次调用链上的 Filter

ApplicationFilterChain:调用过滤器链

ApplicationFilterConfig:获取过滤器

ApplicationFilterFactory:组装过滤器链

WebXml:存放 web.xml 中内容的类

ContextConfig:Web应用的上下文配置类

StandardContext:Context接口的标准实现类,一个 Context 代表一个 Web 应用,其下可以包含多个 Wrapper

StandardWrapperValve:一个 Wrapper 的标准实现类,一个 Wrapper 代表一个Servlet

updatedupdated2023-01-062023-01-06