<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 156,  comments - 601,  trackbacks - 0
        Tomcat5.5 類裝載器的實現都是通過繼承于JDK中的 java.lang.ClassLoader類。
        包括Bootstrap,System,Common, Catalina, Shared和Webapp這六種類加載器來實現不同目錄的類文件裝載。
       
          Bootstrap
              |
           System
              |
           Common
          /      \
     Catalina   Shared
                 /   \
            Webapp1  Webapp2 ...


      Bootstrap 類裝載器:
          它用于加載最基本的JVM運行環境類,裝載JDK目錄下類文件($JAVA_HOME/jre/lib/ext)
          使用它的目的是以防一些JVM提供商實現時,可能考慮某些原因會把部分的類文件通過不同的多個類加載加器加載,同時會
          屏蔽一些類加載讓應用層的類加載器訪問到。
        System 類裝載器:
            該類裝載器根據JVM的CLASSPATH參數設置裝載類文件,該類裝載器對于Tomcat內部的程序和應用層的程序都是可見的。
            注:目前tomcat5的啟動腳本($CATALINA_HOME/bin/catalina.sh 或 %CATALINA_HOME%\bin\catalina.bat),會把全局環境變量CLASSPATH忽略。
            而且通過下面的幾個類庫來實現裝載設置:
            * $CATALINA_HOME/bin/bootstrap.jar 包含一個main()方法來初始化tomcat5服務,并實例類裝器所依賴的類文件。
            * $CATALINA_HOME/bin/tomcat-juli.jar 初始Jakarta commons logging API和 java.util.logging LogManager.
            * $CATALINA_HOME/bin/commons-logging-api-x.y.z.jar - Jakarta commons logging API.
            * $CATALINA_HOME/bin/commons-daemon.jar - Jakarta commons daemon API.
            * jmx.jar - The JMX 1.2 implementation.
        Common 類裝載器
            該類裝載器對于Tomcat內部的程序和應用層的程序都是可見的.
            當然不太建議把應用層的類庫放到這里來加載。
            所有$CATALINA_HOME/lib目錄下未壓縮的類文件,資源和壓縮后Jar/zip文件都會補該類裝載器加載。
           
            Tomcat5.5默認該目錄的類文件有:
            * commons-el.jar - Jakarta commons el, implementing the expression language used by Jasper.
            * jasper-compiler.jar - The JSP 2.0 compiler.
            * jasper-compiler-jdt.jar - The Eclipse JDT Java compiler.
            * jasper-runtime.jar - The JSP 2.0 runtime.
            * jsp-api.jar - The JSP 2.0 API.
            * naming-common.jar - The JNDI implementation used by Tomcat 5 to represent in-memory naming contexts.
            * naming-factory.jar - The JNDI implementation used by Tomcat 5 to resolve references to enterprise resources (EJB, connection pools).
            * naming-factory-dbcp.jar - Jakarta commons DBCP, providing a JDBC connection pool to web applications. The classes have been moved out of their default org.apache.commons package.
            * naming-java.jar - Handler for the java: namespace.
            * naming-resources.jar - The specialized JNDI naming context implementation used to represent the static resources of a web application. This is not related to the support of the J2EE ENC, and cannot be removed.
            * servlet-api.jar - The Servlet 2.4 API.
            * tomcat-i18n-**.jar - Optional JARs containing resource bundles for other languages. As default bundles are also included in each individual JAR, they can be safely removed if no internationalization of messages is needed.

        Catalina 類裝載器:
             該類裝載器用都裝載tomcat5.5本身所需要的類文件和資源。應用層的類裝載器不能訪問到它。
              所有$CATALINA_HOME/server/classes目錄下未壓縮的類文件,資源文件都會補該類裝載器加載。
              所有$CATALINA_HOME/server/lib目錄下壓縮后Jar/zip文件都會補該類裝載器加載。
             Tomcat5.5默認該目錄的類文件有:
            * catalina.jar - Implementation of the Catalina servlet container portion of Tomcat 5.
            * catalina-ant.jar - Some Ant tasks which can be used to manage Tomcat using the manager web application.
            * catalina-optional.jar - Some optional components of Catalina.
            * commons-modeler.jar - A model MBeans implementation used by Tomcat to expose its internal objects through JMX.
            * servlets-xxxxx.jar - The classes associated with each internal servlet that provides part of Tomcat's functionality. These are separated so that they can be completely removed if the corresponding service is not required, or they can be subject to specialized security manager permissions.
            * tomcat-coyote.jar - Coyote API.
            * tomcat-http.jar - Standalone Java HTTP/1.1 connector.
            * tomcat-ajp.jar - Classes for the Java portion of the AJP web server connector, which allows Tomcat to run behind web servers such as Apache and iPlanet iAS and iWS.
            * tomcat-util.jar - Utility classes required by some Tomcat connectors.     

        Shared 類裝載器:
            該類裝載器可化被所有的應用程序類裝載器共享(除了tomcat本身內部類加載外)
                所有$CATALINA_BASE/shared/classes目錄下未壓縮的類文件,資源文件都會補該類裝載器加載。
              所有$CATALINA_BASE/shared/lib目錄下壓縮后Jar/zip文件都會補該類裝載器加載。
            注: 如果有該類庫使用$CATALINA_BASE環境變量啟動了多個實例,則該類裝載器類庫的引使用會$CATALINA_BASE變量而不是$CATALINA_HOME 


        Webapp 類裝載器:
            應用層的類裝載器,每個應用程序都會創建一個單獨的類裝載器。該類裝載器只能本應用程序中可見。
            所有/WEB-INF/classes目錄下未壓縮的類文件,資源文件都會補該類裝載器加載。
            所有/WEB-INF/lib目錄下壓縮后Jar/zip文件都會補該類裝載器加載。
         
     
        把各個類裝載器的定義整理出來后,Tomcat5.5服務器類裝載器執行的順序如下:
        * Bootstrap classes of your JVM
        * System class loader classses (described above)
        * /WEB-INF/classes of your web application
        * /WEB-INF/lib/*.jar of your web application
        * $CATALINA_HOME/common/classes
        * $CATALINA_HOME/common/endorsed/*.jar
        * $CATALINA_HOME/common/i18n/*.jar
        * $CATALINA_HOME/common/lib/*.jar
        * $CATALINA_BASE/shared/classes
        * $CATALINA_BASE/shared/lib/*.jar

    Good Luck!
    Yours Matthew!

    posted on 2008-09-27 19:28 x.matthew 閱讀(2119) 評論(1)  編輯  收藏 所屬分類: Application Server
    主站蜘蛛池模板: 久久亚洲AV成人无码电影| 亚洲国产精品无码中文字| 亚洲avav天堂av在线网爱情| 日本视频免费高清一本18| 中文字幕亚洲无线码a| 久久国产精品免费一区二区三区| 免费一级毛片女人图片| 香蕉国产在线观看免费| 亚洲国产成人精品女人久久久 | 亚洲精品无码MV在线观看| 一个人看的hd免费视频| 伊人久久综在合线亚洲91| 18禁超污无遮挡无码免费网站| 久久精品九九亚洲精品天堂| 国产成人精品免费久久久久| 久久久亚洲欧洲日产国码aⅴ| 中文字幕视频免费| 亚洲成人激情小说| 国产免费无遮挡精品视频| 国产成人精品免费视频大全| 久久伊人久久亚洲综合| 国产曰批免费视频播放免费s| 美女视频黄免费亚洲| 免费很黄很色裸乳在线观看| 丝袜足液精子免费视频| 亚洲视频一区在线观看| 国内自产拍自a免费毛片| 日韩精品视频在线观看免费| 久久久久亚洲AV成人无码| 四虎免费影院ww4164h| 亚洲a∨无码精品色午夜| 国产亚洲自拍一区| 国产精品久久免费| 午夜成人无码福利免费视频| 亚洲午夜未满十八勿入| 美女黄网站人色视频免费国产| 五月婷婷免费视频| 亚洲第一二三四区| 亚洲精品国精品久久99热| 18禁美女裸体免费网站| 美女被爆羞羞网站在免费观看|