tomcat实现(1)——tomcat的定位

xiaoxiao2021-02-28  24

tomcat是一个比较大的话题,慢慢诉说, 附上完整源码:https://github.com/zhangjingao/tomcat.git

这是tomcat实现的第一篇,tomcat的定位 先说tomcat属于哪种服务器,这里只探讨和tomcat有关的部分。 这就比较细了,由小到大的说

什么是servlet容器

听起来就很清楚了,就是运行servlet的一个容器,它就是servlet的运行环境,servlet依托于这个容器才得以运行和保证服务。比如tomcat,jsp需要tomcat编译,servlet需要tomcat启动调用。

什么是web容器

容器只是程序的工作环境,可以理解为这个程序是依托在容器上运行的,先理解容器这个慨念, 举个栗子:杯子是水的容器,现在从服务器来了一个请求喝水,要处理它,杯子要去判断下有没有水,没有就就满水。现在在这里,杯子就是容器,水是web程序,只有杯子才能让水能正常的被使用。

什么是web服务器

服务器顾名思义,就是提供服务的工具。它具有接收服务请求并处理请求,响应请求给客户端的能力,这一系列流程由服务器承担和运转。 常见的web服务器有Nginx,Apache。

由上所说,web容器包括servlet容器,web服务器和其他就不存在包含关系了

再来专门说下Tomcat和Apache的区别 两者定位为Apache是HTTP Web服务器,Tomcat是Web容器

Apache

Apache只支持HTML等静态普通网页,可以向浏览器等WEB客户端提供文档浏览、数据文件下载等,apache:侧重于http server。所以Apache是一个静态服务器。

Tomcat

tomcat可以响应动态网页内容 ,可以支持JSP、PHP和CGI等,其实tomcat是可以正常使用静态内容呢,不过它在这方面性能不如Apache, Tomcat是一个servlet容器,是一个web容器,那他是不是一个web服务器呢,在使用中可以看到,它可以接收请求,可以处理和响应请求,所以tomcat是一个servlet容器,web容器,web服务器

两者可以整合:当客户端需要请求静态资源,只需要Apache服务器响应请求;当客户端需要动态资源,如JSP,需要Tomcat服务容器(Tomcat可以将JSP解析为Servlet)。由于JSP需要JDK的数据库驱动接口,所以一般组合是Apache+Tomcat+JDK。

转载请注明原文地址: https://www.6miu.com/read-2629827.html

最新回复(0)