tomcat组件图解 一个web服务器的架构演化史

 更新时间:2019年08月10日 16:57:11   作者:一天不进步,就是退步  
这篇文章主要介绍了tomcat组件图解 一个web服务器的架构演化史,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1. tomcat是谁?

2. tomcat可以做什么?

tomcat是一个web容器,可以将web应用部署到tomcat,由它提供web服务,一个web容器中可以部署多个web应用,这些web应用可以是同一个域名,也可以是多个域名的服务。

3. tomcat有哪些组件

4.怎么快速理解这些组件呢?

我们可以假设我们来设计一个web容器,我们该什么设计?

第一代:接收请求,处理请求,返回结果集中到整个web容器中,如下图所示:

第二代 :连接管理和处理逻辑分开

使用过程中发现,每次都要打开socket的连接,调用处理逻辑,然后关闭socket连接比较烦,干脆将socket的连接关闭交给Connector来处理,请求的业务逻辑交给Container来处理好了,就变成这样了。

第三代:支持多种网络协议

最初的目标是设计一个web服务器或者容器,那么如果想要支持更多的协议就需要新建不同的Connector和Container,此时就变成这样子了,其中service包装了Connector和Container

第四代:支持多个web应用

既然是容器,就要支持多个应用,每个应用是有一个Context,且相互隔离,支持多个Context的架构如下:

第五代:支持多域名

Context上下文不仅仅需要物理上的隔离,也需要逻辑上的隔离,如app1.example.com访问context1,app1.test.com访问context2.

此时的架构应该是这样的,host可以支持多个context。

5.总结:

  •  web服务器的组件由server-->满足功能
  •  server+connector+Container-->职责分离
  •  server+service+connector+Container-->支持多种协议
  •  server+service+connector+Container+context-->支持多个应用
  •  server+service+connector+Container+host+context -->支持多个域名的多个应用

其实就是一个分工组件细化的过程,类似于社会分工的细化,注意,Container在tomcat里也称作engine。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Tomcat如何配置访问日志和线程数

    Tomcat如何配置访问日志和线程数

    Tomcat是一个功能强大且易于使用的Java Servlet容器,适用于开发和部署各种类型的Java Web应用程序,本文主要介绍了Tomcat如何配置访问日志和线程数,以优化性能并提高系统可靠性
    2023-11-11
  • Tomcat 启动时 SecureRandom 非常慢解决办法

    Tomcat 启动时 SecureRandom 非常慢解决办法

    这篇文章主要介绍了Tomcat 启动时 SecureRandom 非常慢解决办法的相关资料,需要的朋友可以参考下
    2017-06-06
  • tomcat访问(access)日志配置和记录Post请求参数

    tomcat访问(access)日志配置和记录Post请求参数

    这篇文章主要介绍了tomcat访问(access)日志配置和记录Post请求参数,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 如何解决点击 tomcat9.exe闪退的问题

    如何解决点击 tomcat9.exe闪退的问题

    这篇文章主要介绍了如何解决点击 tomcat9.exe闪退的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Tomcat三种闪退问题以及解决原因和办法详解

    Tomcat三种闪退问题以及解决原因和办法详解

    这篇文章主要介绍了Tomcat三种闪退问题以及解决原因和办法的相关资料,通过检查和配置JAVA_HOME环境变量和验证JDK安装,可以解决大部分启动问题,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • tomcat antiResourceLocking antiJARLocking 的作用和用法

    tomcat antiResourceLocking antiJARLocking 的作用和用法

    tomcat 里 antiResourceLocking 和 antiJARLocking 的作用和用法
    2009-08-08
  • 详解用Tomcat服务器配置https双向认证过程实战

    详解用Tomcat服务器配置https双向认证过程实战

    本篇文章主要介绍了详解用Tomcat服务器配置https双向认证过程实战,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Tomcat启动时JAR包报错Invalid byte tag in constant pool异常的解决方案

    Tomcat启动时JAR包报错Invalid byte tag in const

    在开发Java Web应用时,我们经常会使用Apache Tomcat作为 Servlet容器进行部署和测试,然而,在项目启动过程中,有时会遇到类似于“Invalid byte tag in constant pool”的异常,本文将详细分析这一问题的成因,并探讨几种有效的解决方案,需要的朋友可以参考下
    2024-10-10
  • tomcat中虚拟主机及web应用程序的配置方法

    tomcat中虚拟主机及web应用程序的配置方法

    这篇文章主要介绍了tomcat中虚拟主机及web应用程序的配置方法,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Tomcat下配置HTTPS的图文教程

    Tomcat下配置HTTPS的图文教程

    Tomcat核心功能还是作为Java的容器来运行Java后端代码,虽然内置了对HTTP请求的支持,但并不是最优选择,通常部署时,会在Tomcat前面加一个专用的Http服务器,例如Nginx或Apache,本文介绍了Tomcat下配置HTTPS,需要的朋友可以参考下
    2024-09-09

最新评论