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)