Apache Tomcat
主要是对源码的一些了解
不借助springmvc时候,web开发时候,需要web.xml进行配置实现访问
tomcat提供web服务,作为servlet的容器
扫描web.xml文件中servlet标签,实例化,添加到list集合中
tomcat的包中有servlet的jar包,实现servlet规范
tomcat源码
web监听端口
servlet容器
springboot内置tomcat
tomcat中server.xml的context标签标示一个web项目
集合中添加wrapper,就是添加servlet
ContextConfig加载web.xml文件,在这个类中可以看到Wrapper就是servlet
参考web.xml文件中的标签
高内聚,低耦合,各个组件独立
1.connector组件,对外
2.对内就是engine中的组件,源码中父类是Container接口(工厂,包装,组合设计模式)
springboot内置tomcat和tomcat源码差不多
endpoint对于传输层的抽象
tomcat8.0默认NIO,我们可以通过配置修改
tomcat是如何启动和加载的?
启动入口
启动,加载server.xml文件,Digester进行解析,拿到标签
首先创建Server,调用init,创建service(循环创建,可以创建多个),一个个进行创建,从外到内创建