ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### Tomcat总体架构 ![](https://img.kancloud.cn/ca/8e/ca8ef22d52bd1707aecbde94b09f9a2a_700x468.png) Tomcat的核心是两个组件:**连接器(Connector)**和**容器(Container)**。Connector组件是负责生成请求对象和响应对象的,Tomcat默认的是HttpConnector,负责根据收到的Http请求报文生成Request对象和Response对象,并把这两个对象传递给Container,然后根据Response中的内容生成相应的HTTP报文 #### Container Container是容器的父接口,所有子容器都必须实现这个接口,简单来说就是服务器部署的项目是运行在Container中的。Container里面的项目获取到Connector传递过来对应的的Request对象和Response对象进行相应的操作 #### Connector Connector可以根据不同的设计和应用场景进行替换。一个Container可以选择对应多个Connector。多个Connector和一个Container就形成了一个Service,有了Service就可以对外提供服务 Tomcat要为一个Servlet的请求提供服务,需要做四件事: 1. 创建一个request对象并填充那些有可能被所引用的Servlet使用的信息,如参数,头部、cookies、查询字符串等。一个request对象就是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest接口的一个实例。 2. 创建一个response对象,所引用的servlet使用它来给客户端发送响应。一个response对象是javax.servlet.ServletResponse或javax.servlet.http.ServletResponse接口的一个实例。 3. 调用servlet的service方法,并传入request和response对象。这里servlet会从request对象取值,给response写值。 4. 根据servlet返回的response生成相应的HTTP响应报文 ![](https://img.kancloud.cn/94/83/94833a4dd4ff6b4c681ced0220b05dc3_1041x635.png) 【参考资料】 [https://segmentfault.com/a/1190000023475177](https://segmentfault.com/a/1190000023475177)