本篇文章借鉴的是B站上黑马程序员关于Tomcat的详解
一、基础解释
首先解释几个基本概念,以方便后面的学习
1、服务器:
安装了服务器软件的计算机
2、服务器软件:
接受用户请求,处理请求,做出响应(简单来说,可以把服务器软件想象成一个黑盒,给他提供相应的请求,他就能给你做出解释)
3、web服务器软件:
具有服务器软件相同的基本功能,同时支持在web服务器上部署web项目,让用户通过浏览器来访问这些项目(也就是说,相比于服务器软件,web服务器软件可以支持我们把我们自己写的程序放进这个黑盒,然后做出相应操作)
二、HTTP工作原理
简单的放出一张示意图,关于更清晰的解释可以看我的上篇博文
第一张图是我们没有服务器的情况下,我们的HTTP服务器直接去调用业务类去完成业务操作,这样不难看出,耦合性是非常高的,因为我们的HTTP服务器去直接调用了业务层代码。
而第二张图就是我们Tomcat发挥的作用,解耦合以后,我们的代码灵活性将会更高。
Tomcat中内置了Servlet容器,这样我们的HTTP请求发来后,会直接将请求传给我们的Servlet容器,其中Servlet容器会加载Servlet,再去调用相应Servlet中的方法,完成曾业务层的调用。
三、Tomcat架构
我们Tomcat中有两个核心架构
1、连接器
用于将我们的HTTP传来的请求转化成ServletRequest对象,方便我们后期Servlet容器中的Servlet对象进行相应的解析,使我们调用相对应的业务层代码。
同时他还会处理Socket链接(关于Socket链接可以去看我的另一篇博文,这里可以理解为寻找对应服务器及端口号去访问特定的服务器的对象)。
2、同时将我们Servlet对象所产生的相应转换成HTTP协议对应的响应返回给客户端
总结
Tomcat服务器是我们java开发人员入门必掌握的,这里简单介绍了他的构架以及执行款流程。