jetty源码分析
加载WebXmlConfiguration对象,找到webdefault.xml(在jetty-webapp-9.1.jar包中)和web.xml文件,创建WebAppClassLoader,利用StandardDescriptorProcessor解析WebXmlConfiguration,将配置信息设置到Context。
执行子handler的start,会分别启动SessionHandler,SecurityHandler,ServletHandler (这三个Handler是在WebAppContext构造函数里初始化,并且排好顺序)
比如SessionHandler启动的时候会创建并启动HashSessionManager,内部会启动一个timer进行定时清理。
比如ServletHandler启动的时候:
执行所有ServletContextListener.servletContextinitialized(ServletContextEvent)方法。(servletContextListener都是在StandardDescriptorProcessor中实例化的)
遍历所有的Holder
如果是ServletHolder,判断OnStartUp,创建Servlet,初始化Servlet.init(ServletConfig)。
如果是FilterHolder,创建filter,初始化filter.init(FilterConfig)
页:
[1]