对Tomcat响应过程的理解
-
首先浏览器发给服务端一个Http格式的请求,Http接收到这个请求之后,需要调用服务器端程序,也就是我们写的各种不同的Java类去处理。
-
Http服务器不直接调用Servlet,而是把请求交给Servlet容器处理,容器通过接口调用业务类。我们把Servlet接口和Servlet容器叫做Servlet规范,而Tomcat按照Servlet规范的要求实现了Servlet容器,同时它们也具有了HTTP服务器的功能。
-
所以如果我们要实现一个业务,只需要实现一个Servlet,并把它注册到Tomcat也就是Servlet容器中即可,剩下的事情交给Tomcat就好了。
-
比如用户请求某个资源的时候,服务器会先把客户的请求信息封装起来,然后调用Servlet容器的Servlet方法,Servlet容器拿到请求后,根据请求找到响应的Servlet。
-
如果Servlet拿到请求后,在找相应的Servlet时,Servlet还未被加载也就是未被初始化,那先要初始化一个Servlet,然后调用Servlet方法进行业务处理。
-
业务处理完之后会响应ServletResponse这样一个对象,接下来由HTTP服务器解析ServletResponse后最终给浏览器响应结果。
-
Tomcat整体架构
-
连接器(Connector) 和 容器(Container) 为Tomcat的两个核心组件。