How Tomcat Works その9

Chapter 16 : Shutdown Hook

Tomcatが必ずshutdown.shで停止されるとは限りません。サーバプロセスがkill -15やCtrl+Cで殺される際に、終了処理をきちんと実行するためにはShutdown Hookを実装する必要があります。
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle

Chapter 17 : Tomcat Startup

Tomcatの起動は
Bootstrap.main()→Bootstrap.load()→Catalina.load()→Digester.parse()
でserver.xml上の各クラスをインスタンス化し、続いて
Bootstrap.main()→Bootstrap.start()→Catalina.start()→StandardServer.start()
で各オブジェクトが開始される、という流れです(Tomcat6.0.13)。

本章ではBootstrapクラス、Catalinaクラス、さらにstartup.sh/batの中身までがっつり解説してくれます(おまけにシェルの文法までも!)

Chapter 18 : Deployer

Tomcat4.1-5.0ではorg.apache.catalina.Deployerというインターフェースがあり、それをimplementsしたStandardHostDeployerがinstallメソッドでWARのデプロイ処理を行います。StandardHostDeployerは名前の通り、StandardHostから呼び出されます。WARはHostに対してデプロイされ、Contextとしてインスタンス化される、ということになります。
Tomcat5.5以降ではDeployerというインターフェースはなくなり、HostConfig.deployApps()でデプロイされるようになりました。HostConfigはStandardHostのLifecycleListenerです。ここらへんでも、簡略化の方向へリファクタリングされていることが伺えます。