隨筆 - 19, 文章 - 1, 評論 - 21, 引用 - 0

          導航

          <2010年3月>
          28123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          積分與排名

          • 積分 - 96906
          • 排名 - 595

          最新評論

          閱讀排行榜

          評論排行榜

          打造一個基于OSGi的Web Application——在OSGi容器中管理Web元素的實現思路

          要在OSGi容器中動態的管理Web相關的元素,目前有兩種方式。

          一種是通過類似于bridge的方式,現在外層的Web Application中配置一個對應的元素,然后通過對這個元素將外部的訪問橋接到OSGi容器內部。在OSGi容器內部,會有一個總控的service,通過這個service來提供Web元素的動態管理,以及對外界請求的響應和分發。Equinox的Servlet Bridge就是采用的這種方式。

          另一種方式就是通過使用Web Container提供的原生的API來實現Web元素的動態管理,將Web Container的部分功能作為Service注冊到OSGi中,然后在OSGi中通過這個Service來動態的管理Web元素。

          兩種方式各有利弊:

          對于bridge方式來說,優點是與Web Container實現無關,在多種Web Container中均能正常使用;缺點也很明顯,無法使用Web Container提供的各種特性,并且相當于自己要實現一部分Web Server的功能,不僅是重復造輪子,而且還是個不怎么好的輪子,能否滿足企業級應用的需求,還只是個未知數。

          對于使用原生API的方式來說,優點就是完全使用Web Server自身的機制,可以保證性能和功能需求;缺點同樣也很明顯,現在流行的Web Server開源的并不多,而且就算是開源的,也不一定提供了可以動態管理Web元素的API,就算是有相應的API,也不一定適合OSGi環境,而且同一個Web Server的不同版本,API也很有可能會變化,這直接導致了原生方式實現的多樣性和不兼容性。

          幸運的是,在Tomcat 5.5.x和6.0.x中都提供了這樣的API,在以后的章節中,我會著重針對Tomcat 5.5.x、6.0.x版本以及對bridge方式這三個場景,來實現對Web元素的動態管理。

          Servlet 2.4中描述了如下可以在web.xml中配置的元素,這也是我要實現動態管理的目標:
          1. Context Parameter
          2. Error Page
          3. Filter
          4. Filter Mapping
          5. Listener
          6. Security role
          7. Servlet
          8. Servlet Mapping
          9. Welcome Page


          posted on 2010-03-25 17:34 dbstar 閱讀(2218) 評論(0)  編輯  收藏 所屬分類: OSGi

          主站蜘蛛池模板: 邳州市| 苏尼特左旗| 阜新| 咸宁市| 蒙阴县| 镇巴县| 康平县| 成都市| 潞西市| 峨山| 玉田县| 大兴区| 广河县| 墨竹工卡县| 海淀区| 汉沽区| 边坝县| 西安市| 芒康县| 淳安县| 浦城县| 应用必备| 年辖:市辖区| 行唐县| 辉县市| 江孜县| 宜阳县| 宁安市| 清水县| 安徽省| 那曲县| 林甸县| 黎平县| 麦盖提县| 分宜县| 合肥市| 浦江县| 绥宁县| 景洪市| 墨竹工卡县| 多伦县|