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

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

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

    做法1:以Eclipse為啟動點,將appserver做為一個應用啟動。

    1.jpg
    做法:
    在Launcher 當中啟動Eclipse Platform。此處的ClassLoader 為系統的loader。
    Eclipse Platform 會查找到Core Application,并且將其啟動。
    在Core Application 當中,ClassLoader 為 Eclipse 的 ClassLoader。
    在Core Application 當中,我們啟動Jetty,并處于等待狀態。
    當Servlet/JSP被調用時,Jetty 將Servlet/JSP初始化,并執行相應動作。
    Servlet 的 ClassLoader 是 Context ClassLoader,符合Servlet 規范的。

    曾經碰到的問題:
    Core Application采用的是Eclipse ClassLoader,缺省情況下,該ClassLoader 的 parent 為 null。這樣,在Servlet ClassLoader 當中,能夠接觸到System ClassLoader,但是Core Application 不能訪問,它們相互間不可見。
    解決辦法:EclipseStarter 有個配置項叫做parent.Classloader,將其設置為app,即可解決該問題。
    Servlet ClassLoader按照Servlet 2.3的規范,首先由Context ClassLoader去查找,如果找不到,再交由parent 去load。而當時我在webapp/WEB-INF/lib目錄下放了一個runtime.jar文件。這樣,runtime.jar當中的類都被Context ClassLoader給裝載進來了,而對于EclipseStarter當中裝載的runtime.jar中的類互相不可見,從而也出現問題。
    解決辦法:把lib目錄下的runtime.jar刪除就好了。

    由于所有的與eclipse有關的內容,只能由Core Application 的ClassLoader才能裝載,因而相互間是可見的。從而達到了利用eclipse核心的目的。
    做法2:以app server 為啟動點,以eclipse 核心為web app的核心:
    2.jpg


    和做法1一樣,重點是將Core Application的ClassLoader設置為System的loader,這樣,在其他的地方(例如Servlet當中)也同樣可見了。

    很重要:runtime.jar和osgi.jar一定要放在jetty的啟動路徑當中。這樣才會用System的loader 首先找到這兩個jar文件,從而保證大家都在這個基礎上來互相看到。

    做法3:以Eclipse為啟動點,將appserver做為一個應用啟動,appserver以dispatcher身份出現。

    這個做法和做法1一致。區別在于,appserver 本身不做任何事情,只是做為一個 dispatcher 出現。它提供一個 extension point,其他插件擴展該 extension,相當于注冊 servlet,以及mapping。當有http request 時,dispatcher根據 servlet 的注冊和mapping,自動的分發給對應的servlet。此時,各個servlet的 class loader 還是 eclipse classloader,而 servlet 的 context classloader 在這種模式當中只是曇花一現,做了一個 dispatcher 之后,就將工作移交給了定義serlvet 的插件的那個 eclipse classloader。

    這樣,servlet 是可擴展的,再也不依賴于 web.xml了。

    主站: http://blogsite.3322.org/jspwiki/
    posted on 2005-11-28 09:56 SimonLei 閱讀(1967) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    統計

    主站蜘蛛池模板: 亚洲成av人片天堂网无码】| 亚洲天天在线日亚洲洲精| 亚洲影院天堂中文av色| 日日麻批免费40分钟日本的| 亚洲综合图片小说区热久久| 久久久精品2019免费观看| 久久精品国产亚洲av水果派| 无码av免费一区二区三区| 久久精品蜜芽亚洲国产AV | 日韩成人精品日本亚洲| 日韩中文无码有码免费视频 | 亚洲最大激情中文字幕| h视频在线观看免费| 自拍偷自拍亚洲精品第1页| 久久国产精品免费一区| 亚洲欧洲日产国码无码网站| 国内精品久久久久影院免费| 亚洲一区二区电影| 无码av免费毛片一区二区| 亚洲精品国产首次亮相| 免费人成网站在线高清| 岛国精品一区免费视频在线观看 | 国产精品免费一级在线观看| 亚洲AV无码一区二区一二区| 亚洲视频在线一区二区| 国产婷婷成人久久Av免费高清| 久久亚洲AV成人无码电影| 毛片免费在线视频| 边摸边脱吃奶边高潮视频免费| 国外亚洲成AV人片在线观看| 最近中文字幕完整免费视频ww| 国产精品亚洲片夜色在线| 亚洲AⅤ视频一区二区三区 | 亚洲伊人色一综合网| 国产女高清在线看免费观看| 99视频在线免费观看| 亚洲成人福利网站| 亚洲va中文字幕无码| 24小时日本韩国高清免费| 自拍偷自拍亚洲精品偷一| 亚洲成AV人片天堂网无码|