Tomcat结构、启动过程、关键组件简单分析
Tomcat 结构: Tomcat最顶层容器叫Server,代表整个服务器,Server中包含至少一个Service,用于具体提供服务,Service主要包含:Connector和Container,前者处理链接并提供Socket与request和response的转换,Container用于封装和管理Servlet,以及具体处理request请求。 一个Tomcat里一个Server,包含多个Service,一个Service只有一个Container,可以有多个Connector。一个Container只有一个Engine,Engine里面可以有多个Host,每个Host(虚拟主机,站点)下可以有多个Context(代表一个应用),每个Context下可以有过个Wrapper(每个封装一个Servlet)。 Tomcat里的server由Catalina来管理,他是Tomcat的管理类,load(调server的init),start(调server的start,下同),stop三个方法管理服务器生命周期。 启动: 正常情况启动Tomcat就是调用Bootstrap的main方法,main,新建bootstrap,执行init初始化,并调用start。init里初始化classloader,由此创建Catalina实例,赋给catalinaDaemon变量。