start方法会先判断其所持有的Server引用是否为 null,否则会调用一次load方法,如果还是为null,则会结束应用程序(System.exit(1);)。
调用Server的start方法。
向JVM添加关闭钩子。
start @ StandardServer
调用了Service的init方法。
start @ StandardService
调用了Engine、mapperListener和connector的start方法。
start @ Engine
异步调用了子容器(在这里是Host的start方法)。
start @ StandardHost
如果Host的过滤链里没有org.apache.catalina.valves.ErrorReportValve,则将其添加进去。
异步调用了子容器(在这里是Context的start方法)。
start @ StandardContext
226行代码里做了很多Context配置的工作,启动了Session Manager,启动了Pipeline等。