<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
    主站蜘蛛池模板: 亚洲精品国产精品| 久久成人免费播放网站| 国产精品色午夜免费视频| jizz18免费视频| 91久久亚洲国产成人精品性色| 成人免费大片免费观看网站| 羞羞的视频在线免费观看| 久久久久久a亚洲欧洲AV| 成人免费一区二区无码视频| 一个人免费观看www视频| 亚洲AV无码一区二区三区在线| 亚洲精品动漫人成3d在线| 91麻豆最新在线人成免费观看| 手机永久免费的AV在线电影网| 亚洲视频一区二区三区| 亚洲国产一区二区三区| 国产四虎免费精品视频| 成人无码区免费A∨直播| 亚洲欧美日韩综合久久久| 亚洲国产精品不卡在线电影| 免费一级做a爰片久久毛片潮喷| 久久久久久曰本AV免费免费| 一个人看www免费高清字幕| 亚洲无人区码一二三码区别图片 | 爱情岛论坛免费视频| 亚洲欧洲日产国码二区首页| 亚洲精品无码永久在线观看 | 99久9在线|免费| 九九久久国产精品免费热6 | 免费看成人AA片无码视频吃奶| 成人亚洲国产va天堂| 亚洲香蕉免费有线视频| 亚洲中文字幕不卡无码| 国产在线观看www鲁啊鲁免费| 亚洲视频免费一区| 国产成人免费视频| 中文字幕永久免费视频| 青青草国产免费国产是公开| 亚洲日本VA午夜在线电影| 亚洲人成电影在线观看网| 亚洲美女视频免费|