元素名 | 屬性 | 解釋 |
server | port | 指定一個port,這個port負責監聽關閉tomcat的請求 |
shutdown | 指定向port發送的指令字元串 | |
service | name | 指定service的名字 |
Connector(表示client和service之間的連接配接) | 指定server端要建立的port号,并在這個斷口監聽來自client的請求 | |
minProcessors | server啟動時建立的處理請求的線程數 | |
maxProcessors | 最大能夠建立的處理請求的線程數 | |
enableLookups | 假設為true,則能夠通過調用request.getRemoteHost()進行DNS查詢來得到遠端client的實際主機名,若為false則不進行DNS查詢,而是傳回其ip位址 | |
redirectPort | 指定server正在處理http請求時收到了一個SSL傳輸請求後重定向的port号 | |
acceptCount | 指定當全部能夠使用的處理請求的線程數都被使用時,能夠放到處理隊列中的請求數,超過這個數的請求将不予處理 | |
connectionTimeout | 指定逾時的時間數(以毫秒為機關) | |
Engine(表示指定service中的請求處理機,接收和處理來自Connector的請求) | defaultHost | 指定預設的處理請求的主機名,它至少與當中的一個host元素的name屬性值是一樣的 |
Context(表示一個web應用程式,通常為WAR檔案,關于WAR的詳細資訊見servlet規範) | docBase | 應用程式的路徑或者是WAR檔案存放的路徑 |
path | 表示此web應用程式的url的字首,這樣請求的url為http://localhost:8080/path/**** | |
reloadable | 這個屬性很重要,假設為true,則tomcat會自己主動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes檔案夾的變化,自己主動裝載新的應用程式,我們能夠在不重起tomcat的情況下改變應用程式 | |
host(表示一個虛拟主機) | 指定主機名 | |
appBase | 應用程式基本檔案夾,即存放應用程式的檔案夾 | |
unpackWARs | 假設為true,則tomcat會自己主動将WAR檔案解壓,否則不解壓,直接從WAR檔案裡執行應用程式 | |
Logger(表示日志,調試和錯誤資訊) | className | 指定logger使用的類名,此類必須實作org.apache.catalina.Logger 接口 |
prefix | 指定log檔案的字首 | |
suffix | 指定log檔案的字尾 | |
timestamp | 假設為true,則log檔案名稱中要增加時間,例如以下例:localhost_log.2001-10-04.txt | |
Realm(表示存放username,password及role的資料庫) | 指定Realm使用的類名,此類必須實作org.apache.catalina.Realm接口 | |
Valve(功能與Logger差點兒相同,其prefix和suffix屬性解釋和Logger 中的一樣) | 指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類能夠記錄應用程式的訪問資訊 | |
directory | 指定log檔案存放的位置 | |
pattern | 有兩個值,common方式記錄遠端主機名或ip位址,username,日期,第一行請求的字元串,HTTP響應代碼,發送的位元組數。combined方式比common方式記錄的值很多其它 |
<Server>元素
它代表整個容器,是Tomcat執行個體的頂層元素.由org.apache.catalina.Server接口來定義.它包括一個
<Service>元素.而且它不能做為不論什麼元素的子元素.

<
Server
port
="8005"
shutdown
="SHUTDOWN"
debug
="0"
>
1>className指定實作org.apache.catalina.Server接口的類.預設值為
org.apache.catalina.core.StandardServer
2>port指定Tomcat監聽shutdown指令端口.終止server執行時,必須在Tomcatserver所在的機器上發出
shutdown指令.該屬性是必須的.
3>shutdown指定終止Tomcatserver執行時,發給Tomcatserver的shutdown監聽port的字元串.該屬性必須設
置
<Service>元素
該元素由org.apache.catalina.Service接口定義,它包括一個<Engine>元素,以及一個或多個
<Connector>,這些Connector元素共享用同一個Engine元素

Service
name
="Catalina"

="Apache"
第一個<Service>處理全部直接由Tomcatserver接收的web客戶請求.
第二個<Service>處理全部由Apahceserver轉發過來的Web客戶請求
1>className 指定實作org.apahce.catalina.Service接口的類.默覺得
org.apahce.catalina.core.StandardService
2>name定義Service的名字
<Engine>元素
每一個Service元素僅僅能有一個Engine元素.元素處理在同一個<Service>中全部<Connector>元素接收到的客
戶請求.由org.apahce.catalina.Engine接口定義.

Engine
defaultHost
="localhost"
1>className指定實作Engine接口的類,預設值為StandardEngine
2>defaultHost指定處理客戶的預設主機名,在<Engine>中的<Host>子元素中必須定義這一主機
3>name定義Engine的名字
在<Engine>能夠包括例如以下元素<Logger>, <Realm>, <Value>, <Host>
<Host>元素
它由Host接口定義.一個Engine元素能夠包括多個<Host>元素.每一個<Host>的元素定義了一個虛拟主機.它
包括了一個或多個Web應用.

Host
appBase
="webapps"
unpackWARs
="true"
autoDeploy
1>className指定實作Host接口的類.預設值為StandardHost
2>appBase指定虛拟主機的檔案夾,能夠指定絕對檔案夾,也能夠指定相對于<CATALINA_HOME>的相對檔案夾.假設
沒有此項,默覺得<CATALINA_HOME>/webapps
3>autoDeploy假設此項設為true,表示Tomcat服務處于執行狀态時,可以監測appBase下的檔案,假設有新有
web應用增加進來,會自運公布這個WEB應用
4>unpackWARs假設此項設定為true,表示把WEB應用的WAR檔案先展開為開放檔案夾結構後再執行.假設設為
false将直接執行為WAR檔案
5>alias指定主機名稱,能夠指定多個别名
6>deployOnStartup假設此項設為true,表示Tomcatserver啟動時會自己主動公布appBase檔案夾下全部的Web應用
.假設Web應用中的server.xml沒有對應的<Context>元素,将採用Tomcat預設的Context
7>name定義虛拟主機的名字
在<Host>元素中能夠包括例如以下子元素
<Logger>, <Realm>, <Value>, <Context>
<Context>元素
它由Context接口定義.是使用最頻繁的元素.每一個<Context元素代表了執行在虛拟主機上的單個Web應用.
一個<Host>能夠包括多個<Context>元素.每一個web應用有唯一
的一個相相應的Context代表web應用自身.servlet容器為第一個web應用建立一個
ServletContext對象.

Context
path
="/sample"
docBase
="sample"
reloadbale
1>className指定實作Context的類,默覺得StandardContext類
2>path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事
3>reloadable假設這個屬性設為true, Tomcatserver在執行狀态下會監視在WEB-INF/classes和Web-
INF/lib檔案夾CLASS檔案的改運.假設監視到有class檔案被更新,server自又一次載入Web應用
3>cookies指定是否通過Cookies來支援Session,預設值為true
4>useNaming指定是否支援JNDI,預設值為了true
在<Context>元素中能夠包括例如以下元素
<Logger>, <Realm>, <Resource>, <ResourceParams>
<Connector>元素
由Connector接口定義.<Connector>元素代表與客戶程式實際互動的給件,它負責接收客戶請求,以及向客
戶傳回響應結果.

<Connector
="8080"
maxThread
="50"
minSpareThreads
="25"
maxSpareThread
="75"

="false"
redirectPort
="8443"
acceptCount
="100"

="20000"
disableUploadTimeout
/>

Connection
="8009"
enableLookups

protocol
="AJP/1.3"
第一個Connector元素定義了一個HTTP Connector,它通過8080port接收HTTP請求;第二個Connector元素定
義了一個JD Connector,它通過8009port接收由其他server轉發過來的請求.
Connector元素共用屬性
1>className指定實作Connector接口的類
2>enableLookups假設設為true,表示支援域名解析,能夠把IP位址解析為主機名.WEB應用中調用
request.getRemoteHost方法傳回客戶機主機名.預設值為true
3>redirectPort指定轉發port.假設目前port僅僅支援non-SSL請求,在須要安全通信的場命,将把客戶請求轉
發至SSL的redirectPortport
HttpConnector元素的屬性
1>className實作Connector的類
2>port設定Tcp/IP端口,預設值為8080,假設把8080改成80,則僅僅要輸入http://localhost
就可以
由于TCP/IP的預設port是80
3>address假設server有二個以上ip位址,此屬性能夠設定port監聽的ip位址.預設情況下,port會監聽服務
器上全部的ip位址
4>bufferSize設定由port建立的輸入流的緩存大小.預設值為2048byte
5>protocol設定Http協定,預設值為HTTP/1.1
6>maxThreads設定在監聽port的線程的最大數目,這個值也決定了server能夠同一時候響應客戶請求的最大數
目.預設值為200
7>acceptCount設定在監聽port隊列的最大客戶請求數量,預設值為10.假設隊列已滿,客戶必須等待.
8>connectionTimeout定義建立客戶連接配接逾時的時間.假設為-1,表示不限制建立客戶連接配接的時間
JkConnector的屬性
2>port設定AJP端口号
3>protocol必須設定為AJP/1.3
========================================================================================
它代表整個容器,是Tomcat執行個體的頂層元素.由org.apache.catalina.Server接口來定義.它包括一個<Service>元素.而且它不能做為不論什麼元素的子元素.
<Server port="8005" shutdown="SHUTDOWN" debug="0">
1>
className指定實作org.apache.catalina.Server接口的類.預設值為org.apache.catalina.core.StandardServer
2>
port指定Tomcat監聽shutdown指令端口.終止server執行時,必須在Tomcatserver所在的機器上發出shutdown指令.該屬性是必須的.
3>
shutdown指定終止Tomcatserver執行時,發給Tomcatserver的shutdown監聽port的字元串.該屬性必須設定
該元素由org.apache.catalina.Service接口定義,它包括一個<Engine>元素,以及一個或多個<Connector>,這些Connector元素共享用同一個Engine元素
<Service name="Catalina">
<Service name="Apache">
第一個<Service>處理全部直接由Tomcatserver接收的web客戶請求.
第二個<Service>處理全部由Apahceserver轉發過來的Web客戶請求
className 指定實作org.apahce.catalina.Service接口的類.默覺得org.apahce.catalina.core.StandardService
name定義Service的名字
每一個Service元素僅僅能有一個Engine元素.元素處理在同一個<Service>中全部<Connector>元素接收到的客戶請求.由org.apahce.catalina.Engine接口定義.
<Engine name="Catalina" defaultHost="localhost" debug="0">
className指定實作Engine接口的類,預設值為StandardEngine
defaultHost指定處理客戶的預設主機名,在<Engine>中的<Host>子元素中必須定義這一主機
name定義Engine的名字
它由Host接口定義.一個Engine元素能夠包括多個<Host>元素.每一個<Host>的元素定義了一個虛拟主機.它包括了一個或多個Web應用.
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
className指定實作Host接口的類.預設值為StandardHost
appBase指定虛拟主機的檔案夾,能夠指定絕對檔案夾,也能夠指定相對于<CATALINA_HOME>的相對檔案夾.假設沒有此項,默覺得<CATALINA_HOME>/webapps
autoDeploy假設此項設為true,表示Tomcat服務處于執行狀态時,可以監測appBase下的檔案,假設有新有web應用增加進來,會自運公布這個WEB應用
4>
unpackWARs假設此項設定為true,表示把WEB應用的WAR檔案先展開為開放檔案夾結構後再執行.假設設為false将直接執行為WAR檔案
5>
alias指定主機名稱,能夠指定多個别名
6>
deployOnStartup假設此項設為true,表示Tomcat伺服器啟動時會自己主動公布appBase檔案夾下全部的Web應用.假設Web應用中的server.xml沒有對應的<Context>元素,将採用Tomcat預設的Context
7>
name定義虛拟主機的名字
它由Context接口定義.是使用最頻繁的元素.每一個<Context元素代表了執行在虛拟主機上的單個Web應用.一個<Host>能夠包括多個<Context>元素.每一個web應用有唯一
<Context path="/sample" docBase="sample" debug="0" reloadbale="true">
className指定實作Context的類,默覺得StandardContext類
path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事
reloadable假設這個屬性設為true, Tomcatserver在執行狀态下會監視在WEB-INF/classes和Web-INF/lib檔案夾CLASS檔案的改運.假設監視到有class檔案被更新,server自又一次載入Web應用
cookies指定是否通過Cookies來支援Session,預設值為true
useNaming指定是否支援JNDI,預設值為了true
Connector元素
由Connector接口定義.<Connector>元素代表與客戶程式實際互動的給件,它負責接收客戶請求,以及向客戶傳回響應結果.
<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75" enableLookups="false" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
第一個Connector元素定義了一個HTTP Connector,它通過8080port接收HTTP請求;第二個Connector元素定義了一個JD Connector,它通過8009port接收由其他server轉發過來的請求.
className指定實作Connector接口的類
enableLookups假設設為true,表示支援域名解析,能夠把IP位址解析為主機名.WEB應用中調用request.getRemoteHost方法傳回客戶機主機名.預設值為true
redirectPort指定轉發port.假設目前port僅僅支援non-SSL請求,在須要安全通信的場命,将把客戶請求轉發至SSL的redirectPortport
className實作Connector的類
port設定Tcp/IP端口,預設值為8080,假設把8080改成80,則僅僅要輸入http://localhost就可以
address假設server有二個以上ip位址,此屬性能夠設定port監聽的ip位址.預設情況下,port會監聽server上全部的ip位址
bufferSize設定由port建立的輸入流的緩存大小.預設值為2048byte
protocol設定Http協定,預設值為HTTP/1.1
maxThreads設定在監聽port的線程的最大數目,這個值也決定了server能夠同一時候響應客戶請求的最大數目.預設值為200
acceptCount設定在監聽port隊列的最大客戶請求數量,預設值為10.假設隊列已滿,客戶必須等待.
8>
connectionTimeout定義建立客戶連接配接逾時的時間.假設為-1,表示不限制建立客戶連接配接的時間
port設定AJP端口号
protocol必須設定為AJP/1.3