Tomcat结构图

阅读更多

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

 

Tomcat结构图_第1张图片

 

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

Tomcat server.xml配置

  1. shutdown="SHUTDOWN"port="8005">

  2.    className="org.apache.catalina.startup.VersionLoggerListener"/>

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

  4.    className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>

  5.    className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

  6.    className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

  7.    

  8.        pathname="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.    

  10.    name="Catalina">

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

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

  13.        

  14.        name="Catalina"defaultHost="localhost">

  15.            className="org.apache.catalina.realm.LockOutRealm">

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

  17.            

  18.            name="localhost"autoDeploy="true"unpackWARs="true"appBase="webapps">

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

  20.            

  21.        

  22.    

Tomcat顶层结构

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

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

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

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

Tomcat结构图_第2张图片

Connector结构

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

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

  • Acceptor:监听Socket请求

  • Handler:处理Socket请求

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

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

Tomcat结构图_第3张图片

Container结构

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

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

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

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

Tomcat结构图_第4张图片

 

 

 

你可能感兴趣的:(tomcat)