RESTEasy当中ServletContainerDispatcher的分析
首先是ServletContainerDispatcher
的类图:
ServletContainerDispatcher
ServletContainerDispatcher里面包含Dispatcher接口(它自己不实现Dispatcher接口)
ResteasyContext负责push和get环境相关的context数据
SynchronousDispatcher里面也封装着context(defaultContextObjects)
可以看一下pushContextObjects()
方法:
HttpServletDispatcher包含ServletContainerDispatcher
ServletContainerDispatcher.init()
里面涉及到context
(ResteasyContext
)的注入:
ServletContainerDispatcher.service()
里面同样涉及到context
的注入和与Dispatcher
的交互:
各个模块之间的关系
可以看到HttpServletDispatcher
和FilterDispatcher
都包含ServletContainerDispatcher
。