1. 程式人生 > >tomcat啟動時都幹了什麼

tomcat啟動時都幹了什麼

tomcat啟動時都幹了些什麼,下面是tomcat的一些啟動資訊
1、org.apache.catalina.core.AprLifecycleListener init
2、org.apache.coyote.http11.Http11Protocol init
初始化http11 獲得Connector物件
3、org.apache.catalina.startup.Catalina load
初始化啟動程序
4、org.apache.catalina.core.StandardService start
啟動service
5、org.apache.catalina.core.StandardEngine start
啟動engine
6、org.apache.catalina.core.ApplicationContext log
ContextListener: contextInitialized() 初始Context上下文
7、org.apache.catalina.core.ApplicationContext log
SessionListener: contextInitialized() 初始Session
8、Starting Coyote HTTP/1.1 on http-8080
啟動Connector
9、org.apache.jk.common.ChannelSocket init
JK: ajp13 listening on /0.0.0.0:8009
10、org.apache.jk.server.JkMain start
Jk running ID=0 time=0/47 config=null
11、org.apache.catalina.startup.Catalina start
tomcat啟動完成
經過這麼多的過程tomcat總算是啟動來了.其中我們最應該瞭解和知道的是第六步初始化Context.那麼tomcat是如何初始化Context呢.要想知道答案,我們不得不來看看web.xml.
*******Context上下文的初始化
1、<context-param></context-param> 初始context時的一些引數
2、載入listener
3、載入filter
4、載入servlet(load-on-startup)
listener filter servlet在初始化時載入,這些servlet是基礎的servlet,為系統後臺的執行提供服務.listener和filter可以看做是特殊的servlet.
servlet的初始化分為兩個時機:初始化context時初始化、在需要呼叫時初始化。在初始化context時初始化的servlet,我們需要指定它的load-on-startup(數值越小,越先初始化)
*********在第七步初始化完session,如果有spring的配置檔案,這時候會載入srping的配置檔案,初始化spring ioc容器(會初始化所有的singleton="true"的bean)