Artigo Diretório
Introdução ao Tomcat
web服务器软件:接收用户的请求,处理请求做出响应。可以部署web项目,让用户通过浏览器来访问这些项目。
O Tomcat é um servidor de aplicativos web leve, gratuito e de código aberto, geralmente adequado para sistemas de pequeno e médio porte e ocasiões em que não há muitos usuários simultâneos. É a primeira escolha para desenvolver e depurar JSP.
Arquitetura geral do Tomcat
Protocolo HTTP
Estipula principalmente o formato de comunicação entre o cliente e o servidor.
Processo de resposta do Tomcat
Isto é: o processamento da solicitação do servidor HTTP e o fluxo de trabalho do contêiner Servlet são
desacoplados. Depois de receber a solicitação, o servidor HTTP não chamará diretamente a classe de serviço (código Java), mas enviará a solicitação diretamente para o contêiner Servlet irá então decidir qual classe de serviço chamar. O servidor HTTP encapsula as informações de solicitação do cliente em um objeto ServletRequest e as envia para o contêiner Servlet. O contêiner Servlet encontra o Servlet correspondente após receber a solicitação. Se o Servlet não tiver sido carregado, ele cria o Servlet e chama o método init para inicialize. Chame o método de serviço para processar a solicitação e, finalmente, retorne o objeto ServletResponse ao servidor HTTP, e o servidor HTTP enviará a resposta ao cliente.
Implementação de duas funções centrais do Tomcat
Duas funções principais
- Conexão Process Socket (número da porta), responsável pela conversão do fluxo de bytes da rede e objetos Request e Response.
- Carregue e gerencie o Servlet e lide especificamente com as solicitações de Solicitação.
Dois componentes principais
1.连接器(Connector):负责对外交流
2.容器(Container):负责内部处理
Coiote e Catelina
- Coyote é o nome do framework de conector do Tomcat, responsável pela análise de protocolos específicos e operações relacionadas de IO.
- Catalina é uma implementação de container Servlet, responsável pela execução de lógica específica, e é o núcleo do Tomcat.
Nota:
- Um contêiner pode ser encaixado com vários conectores
- Apenas a combinação de Coyote e Catalina pode fornecer serviços externos. Na arquitetura Tomcat, um Serviço pode fornecer serviços externos sozinho. Um Serviço contém pelo menos um Coyote e Catalina, e há vários Serviços no Servidor.
Componentes Catalina:
Camada de módulo do Tomcat
Camada refletida no código-fonte
Camadas de abstração
Consulte a análise dos princípios fundamentais do Tomcat no tutorial java avançado na estação b (https://www.bilibili.com/video/BV1dJ411N7Um?p=10)