Tomcat是什么:
是由Apache开发的一个Servlet容器,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器
与Apache的比较:
- Apache侧重于HTTPServer ,Tomcat侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,支持JSP,但对静态网页不太理想
- Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行
Tomcat内部工作原理
tomcat整体架构:
Server :控制Tomcat的启动和关闭,故整个 Tomcat 的生命周期由 Server 控制
Engine:负责处理所有请求。处理后,将结果返回给service,而connector是作为service与engine的作为中间交流者;
一个engine下可以配置一个默认主机,每个虚拟主机都有一个域名。
当engine获得一个请求时,它把该请求匹配到虚拟主机host上,然后把请求交给该主机来处理。
当 Engine有一个默认主机,当请求无法匹配到任何一个虚拟主机时,将交给默认host来处理
将 Tomcat 中 Connector、Container 作为一个整体比作一对情侣的话,
Connector 主要负责对外交流,可以比作为 Boy,