JavaWeb篇_07——Tomcat組件介紹
Tomcat組件
Server組件
啟動一個server實例(即一個JVM進程),它監(jiān)聽在8005端口以接收shutdown命令。Server的定義不能使用同一個端口,這意味著如果在同一個物理機上啟動了多個Server實例,必須配置它們使用不同的端口。
<Server port="8005" shutdown="SHUTDOWN">
port: 接收shutdown指令的端口,默認為8005;
shutdown:發(fā)往此Server用于實現(xiàn)關閉tomcat實例的命令字符串,默認為SHUTDOWN;
Service組件
Service主要用于關聯(lián)一個引擎和與此引擎相關的連接器,每個連接器通過一個特定的端口和協(xié)議接收請求并將其轉發(fā)至關聯(lián)的引擎進行處理。困此,Service要包含一個引擎、一個或多個連接器。
<Service name="Catalina">
name:此服務的名稱,默認為Catalina;
Connector組件
支持處理不同請求的組件,==一個引擎可以有一個或多個連接器,以適應多種請求方式。==默認只開啟了處理Http協(xié)議的連接器。如果需要使用其他協(xié)議,需要在Tomcat中配置該協(xié)議的連接器。
在Tomcat中連接器類型通常有4種:
- HTTP連接器
- SSL連接器
- AJP 1.3連接器
- proxy連接器
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
port:監(jiān)聽的端口
protocol:連接器使用的協(xié)議,默認為HTTP/1.1;
connectionTimeout:等待客戶端發(fā)送請求的超時時間,單位為毫秒;
redirectPort:如果某連接器支持的協(xié)議是HTTP,當接收客戶端發(fā)來的HTTPS請求時,則轉發(fā)至此屬性定義的端口;
maxThreads:支持的最大并發(fā)連接數(shù),默認為200個;
Engine組件
Engine是Servlet處理器的一個實例,即servlet引擎,定義在server.xml中的Service標簽中。Engine需要defaultHost屬性來為其定義一個接收所有發(fā)往非明確定義虛擬主機的請求的Host組件。
<Engine name="Catalina" defaultHost="localhost">
name:Engine組件的名稱;
defaultHost:Tomcat支持基于FQDN(Fully Qualified Domain Name 全限定域名)的虛擬主機,這些虛擬主機可以通過在Engine容器中定義多個不同的Host組件來實現(xiàn);但如果此引擎的連接器收到一個發(fā)往非明確定義虛擬主機的請求時則需要將此請求發(fā)往一個默認的虛擬主機進行處理,因此,在Engine中定義的多個虛擬主機的主機名稱中至少要有一個跟defaultHost定義的主機名稱同名;
Host組件
虛擬主機
虛擬主機(英語:virtual hosting)或稱共享主機(shared web hosting),又稱虛擬服務器,是一種在單一主機或主機群上,實現(xiàn)多網(wǎng)域服務的方法,可以運行多個網(wǎng)站或服務的技術。
Host組件位于Engine容器中用于接收請求并進行相應處理的虛擬主機。通過該容器可以運行Servlet或者JSP來處理請求。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
name:虛擬主機的名稱,Tomcat通過在請求URL中的域名與name中的值匹配,用于查找能夠處理該請求的虛擬主機。如果未找到則交給在Engine中defaultHost指定的主機處理;
appBase:此Host的webapps目錄,即指定存放web應用程序的目錄的路徑;
autoDeploy:在Tomcat處于運行狀態(tài)時放置于appBase目錄中的應用程序文件是否自動進行deploy;默認為true;
unpackWARs:在啟用此webapps時是否對WAR格式的歸檔文件先進行展開;默認為true;
Context組件
Context是Host的子組件,代表指定一個Web應用,它運行在某個指定的虛擬主機(Host)上;每個Web應用都是一個WAR文件,或文件的目錄。
<Context path="/test" docBase="D:\bjsxt\itbaizhan.war" />
path:context path既瀏覽器訪問項目的訪問路徑。
docBase:相應的Web應用程序的存放位置;也可以使用相對路徑,起始路徑為此Context所屬Host中appBase定義的路徑;
浙公網(wǎng)安備 33010602011771號