<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 閱讀(2124) 評論(1)  編輯  收藏 所屬分類: Application Server
    主站蜘蛛池模板: 天天综合亚洲色在线精品| 亚洲一区二区三区在线| 免费v片在线观看品善网| 四虎在线播放免费永久视频| 在线精品亚洲一区二区小说| 亚洲日韩av无码| 亚洲中文无码亚洲人成影院| 国产精品免费久久久久影院| 无码精品人妻一区二区三区免费看 | 波多野结衣免费在线观看| 成人毛片免费视频| 亚洲免费视频一区二区三区| 香蕉视频在线观看亚洲| 亚洲国产成人精品无码区二本| 你是我的城池营垒免费观看完整版 | 免费的黄色的网站| 曰批全过程免费视频网址 | 成人免费夜片在线观看| 曰批视频免费30分钟成人| 亚洲国产成人VA在线观看| 久久亚洲国产精品成人AV秋霞| 亚洲中文字幕无码爆乳app| 日本成人在线免费观看| 亚洲国产精品无码一线岛国 | 久99久无码精品视频免费播放| 69成人免费视频无码专区| 亚洲AV无码久久精品色欲| 免费看内射乌克兰女| 亚洲αv久久久噜噜噜噜噜| 91久久精品国产免费直播| 亚洲AV乱码久久精品蜜桃| 在线观看的免费网站| 91情国产l精品国产亚洲区| 久久不见久久见免费影院| 九九九精品视频免费| 日韩精品视频免费网址| 国产精品成人69XXX免费视频| 亚洲AV日韩AV天堂久久| 好吊妞788免费视频播放| 亚洲一级视频在线观看| 亚洲 国产 图片|