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

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

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

    HelloWorld 善戰(zhàn)者,求之于勢,不責于人;故能擇人而任勢。

    知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

      BlogJava :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks
    編寫 Tomcat 管理程序
    評分:
    作者:jilili   瀏覽次數(shù):439   創(chuàng)建于: 2006-01-03   更新于: 2006-11-19
    關鍵字:

    1.前言
       
        基于Tomcat的應用程序在發(fā)布時總是存在啟動服務和重新加載的問題,有時甚至需要重新啟動Tomcat服務,經(jīng)過一段時間的使用對Tomcat有了些了解,這篇文章的目的是介紹有關怎樣通過程序去控制Tomcat,主要內(nèi)容如下:
       
        添加刪除虛擬主機添加刪除Host別名啟動停止Host、啟動停止Context發(fā)布卸載程序

    2. 準備知識和參考資料

    2.1 類加載器和Tomcat安全管理(可以在讀完整篇文章后作為補充材料閱讀
       
           類裝入問題解密(http://www-128.ibm.com/developerworks/cn/java/j-dclp1/)
           了解 Java ClassLoader(http://www- 128.ibm.com/developerworks/cn/views/java/tutorials.jsp?cv_doc_id=84959)這篇文章需要注冊才能看到
           Java 編程的動態(tài)性,第 1 部分: 類和類裝入(http://www-128.ibm.com/developerworks/cn/java/j-dyn0429/)
           The Tomcat 5.5 Servlet/JSP Container Class LoaderHOW-TO(http://tomcat.apache.org/tomcat-5.5-doc/class-loader- howto.html)
           The Tomcat 5.5 Servlet/JSP Container Security Manager HOW-TO(http://tomcat.apache.org/tomcat-5.5-doc/security-manager- howto.html)

    2.2 ContainerServlet

        org.apache.catalina.ContainerServlet 是一個接口類,它可以訪問Catalina的內(nèi)部功能,它有Catalina被類加載器加載,而不是我們的WebApplication類加載器。它的Setter方法在這個Servlet的新的實例被放進Service時被執(zhí)行。
        我們使用它獲取 Engine, Host,  Context等內(nèi)部對象。要使用這個類必需在Context配置中使 privileged="true"如下:
       
        <Context docBase="/opt/vhost/ideais.net/tomcat.war" path="/tomcat" privileged="true"/>

    2.3 JMX

        Tomcat5.X中提供了JMX對象,它對于Tomcat的管理提供了完整的管理,可是對于服務的控制只有通過借用ContainerServlet來實現(xiàn)。

    3. Tomcat 層次結(jié)構(gòu)




    4. 獲取Tomcat內(nèi)部對象

    ...
    import org.apache.catalina.*;
    ...

    public class XmlAdminServlet extends HttpServlet implements ContainerServlet

      ...
      protected Wrapper wrapper = null;
      protected Context context = null;
      protected Host host = null;
      ...
     
      public void setWrapper(Wrapper wrapper) {
            this.wrapper = wrapper;
            if (wrapper == null) {
                context = null;
                host = null;
                engine = null;
            } else {
                context = (Context) wrapper.getParent();
                host = (Host) context.getParent();
                engine = (Engine) host.getParent();
            }
      }
     
      ...
        Container[] hosts = engine.findChildren();
      ...
     
    }



    </script>

    posted on 2007-12-06 14:01 helloworld2008 閱讀(761) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 亚洲视频在线免费看| 在线观看午夜亚洲一区| 亚洲va乱码一区二区三区| 国产无遮挡裸体免费视频在线观看 | 亚洲国产精品无码中文字| 久久嫩草影院免费看夜色| 亚洲av日韩av欧v在线天堂| 免费国产a理论片| 婷婷综合缴情亚洲狠狠尤物| 人人爽人人爽人人片av免费| 亚洲免费视频一区二区三区| 中文字幕在线视频免费观看| 久久夜色精品国产嚕嚕亚洲av| 999任你躁在线精品免费不卡| 亚洲视频免费在线看| 黄页免费的网站勿入免费直接进入| 狠狠色香婷婷久久亚洲精品| 亚洲香蕉网久久综合影视| 成人久久免费网站| 亚洲性色高清完整版在线观看| 免费人成视频在线| 天天综合亚洲色在线精品| 337p日本欧洲亚洲大胆裸体艺术| 黄网站免费在线观看| 亚洲国产精品综合久久网各| 免费高清小黄站在线观看| 人成午夜免费大片在线观看| 久久丫精品国产亚洲av| 国产在线观看片a免费观看| 亚洲AV一区二区三区四区| 中文字幕亚洲图片| 精品国产sm捆绑最大网免费站| 欧美色欧美亚洲另类二区| 亚洲人精品午夜射精日韩| 很黄很色很刺激的视频免费| 日日摸夜夜添夜夜免费视频| 久久国产亚洲高清观看| 国产免费69成人精品视频| 久久精品免费一区二区三区| 一本色道久久88—综合亚洲精品| 在线观看亚洲成人|