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)
發佈了28 篇原創文章 · 獲贊 0 · 訪問量 940
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章