欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat结构图

程序员文章站 2022-07-13 14:54:15
...

微信公众号文章列表:关注公众号(coding_song)阅读更清晰,附件为微信二维码

 

Tomcat结构图
            
    
    博客分类: Tomcat tomcat Tomcat结构图
            
    
    博客分类: Tomcat tomcat 

 

本文微信公众号原文链接:https://mp.weixin.qq.com/s/socZ7J3xSH3HXeoEjIQxtg

Tomcat server.xml配置

  1. <Servershutdown="SHUTDOWN"port="8005">

  2.    <ListenerclassName="org.apache.catalina.startup.VersionLoggerListener"/>

  3.    <ListenerclassName="org.apache.catalina.core.AprLifecycleListener"SSLEngine="on"/>

  4.    <ListenerclassName="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>

  5.    <ListenerclassName="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

  6.    <ListenerclassName="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

  7.    <GlobalNamingResources>

  8.        <Resourcepathname="conf/tomcat-users.xml"factory="org.apache.catalina.users.MemoryUserDatabaseFactory"description="User database that can be updated and saved"type="org.apache.catalina.UserDatabase"auth="Container"name="UserDatabase"/>

  9.    </GlobalNamingResources>

  10.    <Servicename="Catalina">

  11.        <Connectorport="8080"redirectPort="8443"connectionTimeout="20000"protocol="HTTP/1.1"/>

  12.        <Connectorport="8009"redirectPort="8443"protocol="AJP/1.3"/>

  13.        <!-- Container配置 -->

  14.        <Enginename="Catalina"defaultHost="localhost">

  15.            <RealmclassName="org.apache.catalina.realm.LockOutRealm">

  16.                <RealmclassName="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/>

  17.            </Realm>

  18.            <Hostname="localhost"autoDeploy="true"unpackWARs="true"appBase="webapps">

  19.                <ValveclassName="org.apache.catalina.valves.AccessLogValve"pattern="%h %l %u %t "%r" %s %b"suffix=".txt"prefix="localhost_access_log"directory="logs"/>

  20.            </Host>

  21.        </Engine>

  22.    </Service>

  23. </Server>

Tomcat顶层结构

  • Server:Tomcat中最顶层的容器叫Server,代表整个服务器

  • Service:Server中至少包含一个Service,用于提供服务,service主要包含2个部分Connector和Container

  • Connector:一个Service包含多个Connector,用于处理Socket连接,并将Socket连接封装成Request和Response

  • Container:一个Service中只有一个Connector,用于封装和管理Servlet

Tomcat结构图
            
    
    博客分类: Tomcat tomcat 

Connector结构

  • ProtocolHandler:Connector中具体是用ProtocolHandler来处理请求,定义了Endpoint和Processor两个内部类,和一个Adapter接口

  • Endpoint:用于监听并处理接收到Socket请求

  • Acceptor:监听Socket请求

  • Handler:处理Socket请求

  • Processor:将Accetor接收到的Socket请求封装成Request

  • Adapter:将封装好的Request交给Container进行处理

Tomcat结构图
            
    
    博客分类: Tomcat tomcat 

Container结构

  • Engine:tomcat引擎,用来管理多个Host(站点),一个Service最多只能有一个Engine

  • Host:一个Engine中可以有多个Host,Host代表一个站点或虚拟机

  • Context:一个Host中可以有多个Context,代表一个应用程序

  • Wrapper:一个Context可以有多个Wrapper,每个Wraaper封装一个Servlet

Tomcat结构图
            
    
    博客分类: Tomcat tomcat 

 

 

 
相关标签: tomcat