<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
    主站蜘蛛池模板: 亚洲精品无码专区2| 亚洲欧美日韩综合久久久| 亚洲一区二区三区高清| 亚洲人成影院午夜网站| 337p日本欧洲亚洲大胆人人| 中文字幕在线免费视频| 天天拍拍天天爽免费视频| 亚洲色成人WWW永久网站| 久久精品国产亚洲av麻豆图片 | 亚洲精品福利视频| 亚洲欧美aⅴ在线资源| 日本久久久免费高清| 久久久亚洲欧洲日产国码农村| 亚洲综合无码无在线观看| 麻豆精品成人免费国产片| 国产成人免费手机在线观看视频 | 亚洲精品乱码久久久久蜜桃| 国产精品免费无遮挡无码永久视频| 国产一区二区免费在线| 亚洲国产精品人久久电影| 两个人看的www高清免费观看| 无码国产亚洲日韩国精品视频一区二区三区| 亚洲无砖砖区免费| 女人与禽交视频免费看| 高潮毛片无遮挡高清免费| 天天摸天天操免费播放小视频| 国产精品自拍亚洲| 日韩在线免费看网站| 二级毛片免费观看全程| 国产美女无遮挡免费视频| a毛片成人免费全部播放| 四虎影视在线永久免费看黄| v片免费在线观看| 在线观看91精品国产不卡免费| 香港特级三A毛片免费观看| 国产成人精品日本亚洲网站| 国产高清对白在线观看免费91| 亚洲国产天堂在线观看| 国产伦一区二区三区免费| 好紧我太爽了视频免费国产| 久久精品国产亚洲AV久|