免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Tomcat 結(jié)構(gòu)概述
1.Tomcat的結(jié)構(gòu)概述
    Tomcat服務(wù)器是由一系列可配置的組件構(gòu)成,其核心組件是Catalina Servlet容器,它是所有其他Tomcat組件的頂層容器。Tomcat的組件可以在<CATALINA_HOME>/conf/server.xml文件中進(jìn)行配置,每個Tomcat的組件在server.xml文件中對應(yīng)一種配置元素.一下代碼以XML的形式展示了各種Tomcat組件之間的關(guān)系:
<Server>
    <Service>
        <Connector/>
        <Engine>
            <Host>
                <Context>
                </Context>
            </Host>
        </Engine>
    </Service>
</Server>
    在以上XML代碼中,每個元素都代表一種Tomcat組件.這些元素分四類:
    1.頂層類元素    頂層類元素包括<Server>元素和<Service>元素,他們位于整個配置文件的頂層.
    2.連接器類元素    連接器類元素代表了介于客戶與服務(wù)之間的通信接口,負(fù)責(zé)將客戶的請求發(fā)送給服務(wù)器,并將服務(wù)器的響應(yīng)結(jié)果傳遞給客戶.
    3.容器類元素    容器類元素代表處理客戶請求并生成響應(yīng)結(jié)果的組件,有3種容器類元素,它們是Engine,Host和Context. Engine組件為特定的Service組件處理所有客戶請求,Host組件為特定的虛擬主機(jī)處理所有客戶請求,Context組件為特定的Web應(yīng)用處理所有客戶請求.
    4.嵌套類元素    嵌套類元素代表了可以加入到容器中的組件,如<Logger>元素、<Valve>元素和<Realm>元素,這些元素將在后面的做介紹。
    下面,再對一些基本的Tomcat元素進(jìn)行介紹。如果要了解這些元素,可以參考附錄A(Server.xml文件)。
    <Server>元素
    代表了整個Catalina Servlet容器,它是Tomcat實例的頂層元素.可包含一個或多個<Service>元素.
    <Service>元素
    包含一個<Engine>元素,以及一個或多個<Connector>元素,這些<Connector>元素共享同一個<Engine>元素.
    <Connector>元素
    代表和客戶程序?qū)嶋H交互的組件,他負(fù)責(zé)接收客戶請求,以及向客戶返回響應(yīng)結(jié)果.
    <Engine>元素
    每個<Service>元素只能包含一個<Engine>元素. <Engine>元素處理在同一個<Service>中所有<Connector>元素接收到的客戶請求.
    <Host>元素
    一個<Engine>元素中可以包含多個<Host>元素.每個<Host>元素定義了一個虛擬主機(jī),它可以包含一個或多個Web應(yīng)用.
    <Context>元素
    每個<Context>元素代表了運行虛擬主機(jī)上的但個Web應(yīng)用.一個<Host>元素中可以包含多個<Context>元素.
 
2. Tomcat的服務(wù)器配置文件server.xml
    Tomcat服務(wù)器是由一系列可配置的組件構(gòu)成,Tomcat的組件可以在<CATALINA_HOME>\conf\server.xml文件中進(jìn)行配置,每個Tomcat組件和server.xml文件中的一種配置元素對應(yīng).下面就一些常用的元素做了介紹.關(guān)于server.xml的更多信息,可以參考Tomcat的文檔:
    <CATALINA_HOME>/webapps/tomcat-docs/config/index.html
    下面是一個server.xml文件的樣例:
-----------------------------------------------------------------------------------
<!-- Example Server Configuration File -->
 
<Server port="8005" shutdown="SHUTDOWN" debug="0">
  <Service name="Catalina">
    <Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true" /> 
    <Engine name="Catalina" defaultHost="localhost" debug="0"> 
       <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_log." suffix=".txt"
              timestamp="true"/> 
       <Realm className="org.apache.catalina.realm.MemoryRealm"/> 
       <Host name="localhost" debug="0" appBase="webapps"
             unpackWARs="true" autoDeploy="true">
                           
           <Valve className="org.apache.catalina.valves.AccessLogValve"
                  directory="logs" prefix="localhost_access_log." suffix=".txt"
                  pattern="common" resolveHosts="false"/> 
           <Logger className="org.apache.catalina.logger.FileLogger"
               
   directory="logs"  prefix="localhost_log." suffix=".txt"
                   timestamp="true"/>       
               <Context path="/sample" docBase="sample" debug="0" reloadable="true">                           
                   <Resource name="jdbc/BookDB"
                             auth="Container"
                             type="javax.sql.DataSource"/>                                  
                   <ResourceParams name="jdbc/BookDB"                                 
                        <parameter>
                             <name>
factory</name>
                             <vlaue>
org.apache.commons.dbcp.BasicDataSourceFactory</value>
                        </parameter>                                         
                        <parameter>
                             <name>
maxActive</name>
                             <value>
100</value>
                        </parameter>                                         
                        <parameter>
                             <name>
maxIdle</name>
                             <value>
30</value>
                        </parameter>                                                
                        <parameter>
                             <name>
maxWait</name>
                             <value>
10000</value>
                        </parameter>                                         
                        <parameter>
                             <name>
username</name>
                             <value>
dbuser</value>
                        </parameter>                                         
                        <parameter>
                             <name>
password</name>
                             <value>
1234</value>
                        </parameter>                                         
                        <parameter>
                             <name>
driverClassName</name>
                             <value>
com.mysql.jdbc.Driver</value>
                        </parameter>                                         
                        <parameter>
                            
<name>url</name>

                             <value>
jdbc:mysql://localhost:3306/BookDB?autoReconnect=true</value>
                        </parameter>                                         
                  </ResourceParams>                                  
              </Context>                           
          </Host>                    
      </Engine>             
  </Service>   
  <Service name="Apache">
      <Connector prot="8009"
                 enableLookups="false" redirectPort"8443" debug="0"
                 protocol="AJP/1.3"/>                           
      <Engine name="Apache" defaultHost="localhost" debug="0">                       
          <Logger className="org.apache.catalina.logger.FileLogger"
                  prefix="apache_log." suffix=".txt"
                  timestamp="true"/>                                  
          <Realm className="org.apache.catalina.realm.MemoryRealm"/>                    
      </Engine> 
  </Service>
</Server>
 
-----------------------------------
下面,對基本的Tomcat元素逐一介紹。 
1. 配置Server元素

   <Server>
元素代表了整個Catalina Servler容器,它是Tomcat實例的頂層元素,由org.apache.catalina.Server接口來定義.<Server>元素中可以包含一個或者多個<Service>元素,但<Server>元素不能作為任何其他元素的子元素.范例代碼中定義的<Server>元素如下:
     <Server port="8005" shutdown="SHUTDOWN" debug="0">
    <Server>屬性含義:
--------------------------------------------------------------
    className  :指定實現(xiàn)org.apache.catalina.Server接口的類,默認(rèn)值為org.apache.catalina.core.StandardServer.
    port       :指定Tomcat服務(wù)器監(jiān)聽shutdown命令的端口.終止Tomcat服務(wù)運行時,必須在Tomcat服務(wù)器所在的機(jī)器上發(fā)出Shutdown命令.該屬性是必須設(shè)定的.
    shutdown   :指定終止Tomcat服務(wù)器運行時,發(fā)給Tomcat服務(wù)器的shutdown監(jiān)聽端口的字符串.該屬性是必須設(shè)定的.
2. 配置Service元素

    <Service>元素由org.apache.catalina.Service接口定義,它把韓一個<Engine>元素,以及一個或多個<Connector>元素,這些<Connector>元素共享一個<Engine>元素. 例如,在范例文件中配置了兩個<Service>元素

    <Service name="Catalina">
 
name="Apache">
    第一個<Service>處理所有直接由Tomcat服務(wù)器接收的Web客戶請求,第二個<Service>處理由Apache服務(wù)器轉(zhuǎn)發(fā)過來的Web客戶請求.

   <Service
    <Service>屬性含義:
--------------------------------------------------------------
    className  :指定實現(xiàn)org.apache.catalina.Service接口的類,默認(rèn)值為org.apache.catalina.core.StandardService.
    name       :定義Service的名字.
3. 配置Engine元素

    <Engine>元素由org.apahe.catalina.Engine接口定義. 每個<Service>元素只能包括一個<Engine>元素. <Engine>元素處理在同一個<Service>中所有<Connector>元素接收到的客戶請求. 例如,在范例server.xml文件中配置了一下的<Engine>元素:

    <Engine name="Catalina" defaultHost="localhost" debug="0"> 

    <Engine>屬性含義:
--------------------------------------------------------------
    className  :指定實現(xiàn)org.apache.catalina.Engine接口的類,默認(rèn)值為org.apache.catalina.core.StandardEngine.
    name       :定義Engine的名字.

    在<Engine>元素中可以包含如下的子元素:
        <Logger>
        <Realm>
        <Valve>
        <Host>
4. 配置Host元素

    <Host>元素由org.apache.catalina.Host接口定義.一個<Engine>元素可以包含多個<Host>元素.每個<Host>元素定義了一個虛擬主機(jī),它可以包含一個或多個Web應(yīng)用. 例如,在樣例server.xml中配置了以下<Host>元素:

       <Host name="localhost" debug="0" appBase="webapps"
             unpackWARs="true" autoDeploy="true">
 

    以上代碼定義了一個名為localhost的虛擬主機(jī),Web客戶訪問它的URL為: http://localhost:8080/

    <Host>屬性含義:
--------------------------------------------------------------
    className    :指定實現(xiàn)org.apache.catalina.
Host接口的類,默認(rèn)值為org.apache.catalina.core.StandardHost.
    appBase      :指定虛擬主機(jī)的目錄,可以指定絕對目錄,也可以指定相對于<CATALINA_HOME>的相對目錄. 如果此項沒有設(shè)定,默認(rèn)值為<CATALINA_HOME>/webapps.
    unpackWARs   :如果此項設(shè)為true,表示將把Web應(yīng)用的WAR文件先展開為開放目錄結(jié)構(gòu)后再運行.如果設(shè)為false,將直接運行WAR文件.
    autoDeploy   :如果此項設(shè)為true,表示當(dāng)Tomcat服務(wù)器處于運行狀態(tài)時,能夠監(jiān)測appBase下的文件,如果有新的Web應(yīng)用加入進(jìn)來,會自動發(fā)布這個Web應(yīng)用.
    alias        :指定虛擬主機(jī)的別名,可以指定多個別名.
    deployOnStartup :如果此項設(shè)為true,表示Tomcat服務(wù)器啟動時會自動發(fā)布appBase目錄下的所有Web應(yīng)用,如果Web應(yīng)用在server.xml中沒有相應(yīng)的<Context>元素,將采用Tomcat默認(rèn)的Context. deployOnStartup的默認(rèn)值為true.
    name         :定義虛擬主機(jī)的名字.}

    在<Host>元素中可以包含如下的子元素:
        <Logger>
        <Realm>
        <Valve>
        <Context>
5. 配置Context元素

   
<Context>元素由org.apache.catalina.Context接口定義. <Context>元素是使用最頻繁的元素. 每個<Context>元素代表了運行在虛擬主機(jī)上的單個Web應(yīng)用. 一個<Host>元素中可以包含多個<Context>元素. 例如, 在樣例server.xml文件中配置了以下<Context>元素:

               <Context path="/sample" docBase="sample" debug="0" reloadable="true">
   

    <Context>屬性含義:
--------------------------------------------------------------
    className   :指定實現(xiàn)org.apache.catalina.Context接口的類,默認(rèn)值為org.apache.catalina.core.StandardContext.
    path        :指定訪問該Web應(yīng)用的URL入口.
    docBase     :指定Web應(yīng)用的文件路徑.可以給定絕對路徑,也可以給定相對于Host的appBase屬性的相對路徑. 如果Web應(yīng)用采用開放目錄結(jié)構(gòu),那就指定Web應(yīng)用的根目錄;如果Web應(yīng)用是個WAR文件,那就指定WAR文件的路徑.
    reloadable  :如果這個屬性設(shè)為true,Tomcat服務(wù)器在運行狀態(tài)下會監(jiān)視在WEB-INF/class和WEB-INF/lib目錄下CLASS文件的改動.如果檢測到有calss文件被更新,服務(wù)器會自動重新加載Web應(yīng)用.
    cookies     :指定是否通過Cookie來支持Session,默認(rèn)為true.
    useNaming   :指定是否支持JNDI,默認(rèn)為true.

    在<Context>元素中可以包含如下的子元素:
        <Logger>
        <Realm>
        <Valve>
        <Resource>
        <ResourceParams>
6. 配置Connector元素

    <Connector>元素由org.apache.catalina.Connector接口定義.<Connector>元素代表與客戶程序?qū)嶋H交互的組件,它負(fù)責(zé)接收客戶的請求,以及向客戶返回響應(yīng)結(jié)果.例如, 在樣例server.xml文件中配置了兩個<Connector>元素:

   

      prot="8009"
               
 enableLookups="false" redirectPort"8443" debug="0"
                 protocol="AJP/1.3"/>      

    第一個<Connector>元素定義了一個HTTP Connector,它通過8080端口接收HTTP請求;
    第二個<Connector>元素定義了一個JK Connector,它通過8009端口接收由其他HTTP服務(wù)器(如Apache服務(wù)器)轉(zhuǎn)發(fā)過來的客戶請求.

   
所有的<Connector>元素都具有一些共同的屬性,這些屬性如下:
<Connector
  <Connector port="8080"
              
   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                 enableLookups="false" redirectPort="8443" acceptCount="100"
                 debug="0" connectionTimeout="20000"
                 disableUploadTimeout="true" /> 
    <Connector>屬性含義(共同屬性):
--------------------------------------------------------------
    className      :指定實現(xiàn)org.apache.catalina.
Connector 接口的類,默認(rèn)值為org.apache.catalina.core.StandardConnector.
    enableLookups  :如果設(shè)為true,表示支持域名解析,可以把IP地址解析為主機(jī)名.Web應(yīng)用調(diào)用request.getRemostHost方法將返回客戶的主機(jī)名.該屬性默認(rèn)值為true.
    redirectPort   :指定轉(zhuǎn)發(fā)端口.如果當(dāng)前端口只支持non-SSL請求,在需要安全通信的場合,將把客戶請求轉(zhuǎn)發(fā)到基于SSL的redirectPort的端口.

    HttpConnector的屬性描述如下:
--------------------------------------------------------------
    calssName      :指定實現(xiàn)org.apache.catalina.Connector接口的類,默認(rèn)值為org.apache.coyote.tomcat5.CoyoteConnector.
    enableLookups  :同上.
    redirectPort   :同上.
    prot           :設(shè)定TCP/IP斷口號,默認(rèn)為8080.
    address        :如果服務(wù)器有兩個以上IP地址,該屬性可以設(shè)定端口監(jiān)聽的IP地址,默認(rèn)情況下,端口會監(jiān)聽服務(wù)器上所有IP地址.
    bufferSize     :設(shè)定由端口創(chuàng)建的輸入流的緩存大小,默認(rèn)值為2048byte.
    protocol       :設(shè)定HTTP協(xié)議,默認(rèn)值為HTTP/1.1.
    maxThreads     :設(shè)定處理客戶請求的線程的最大數(shù)目,這個值也決定了服務(wù)器可以同時響應(yīng)客戶請求的最大數(shù)目,默認(rèn)值為200.
    acceptCount    :設(shè)定在監(jiān)聽端口隊列中的最大客戶請求數(shù),默認(rèn)值為10. 如果隊列已滿,客戶請求將被拒絕.
    connectionTimeout :定義建立客戶連接超時的時間,以毫秒為單位.如果設(shè)置為-1,表示不限制建立客戶連接的時間.

    JK Connector 的屬性如下:
--------------------------------------------------------------
    className      :指定實現(xiàn)org.apache.catalina.Connector接口的類,默認(rèn)值為org.apache.coyote.tomact5.CoyoteCnnector.
    enableLookups  :同上.
    redirectPort   :同上.
    port           :設(shè)定AJP端口號.
    protocol       :必須設(shè)定為AJP/1.3協(xié)議
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Servlet/JSP深入詳解:基于Tomcat的Web開發(fā)第一章02
TOMCAT源碼分析(啟動框架) :: 珊瑚島
部署Tomcat(Web)服務(wù)詳解
Tomcat配置詳解
tomcat結(jié)構(gòu)分析
tomcat5.0 目錄結(jié)構(gòu)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服