一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

初探OSGi Web應用開發(fā)利器Equinox:環(huán)境設置

 hehffyy 2012-05-31

【51CTO精選譯文】在之前的《你好,OSGi》系列 中, 我們理解 OSGi服務平臺的工作原理奠定了基礎。在接下來的最后這幾篇中,我們將學習如何將 OSGi 可插入、基于組件的開發(fā)模型應用到 Web 應用程序。您將創(chuàng)建一個基于套件(bundle)的OSGi應用程序,用它可以為靜態(tài)資源、servlet 或 JSP 提供服務器端服務。此外,你還可以學到一些實際的經(jīng)驗:在 Web 應用程序中,使用 Equinox框架簡便地利用 OSGi的模塊化、版本管理和動態(tài)服務。

51CTO編輯推薦: OSGi入門與實踐全攻略

該系列已經(jīng)介紹了 OSGi 開發(fā)概念并演示如何使用 Equinox 創(chuàng)建簡單的 Hello World 應用,Eclipse 的 OSGi 容器和實現(xiàn)。另外還已經(jīng)介紹了 Spring DM(Spring動態(tài)模型),用它可以非常方便地創(chuàng)建 Spring 應用程序,并將其部署在 OSGi 容器中。

在最后一節(jié),我們將解答許多開發(fā)人員現(xiàn)在要問的問題:我喜歡 OSGi 這個概念,但如何用它來創(chuàng)建 Web 應用程序呢?

在本節(jié)中,你將看到,OSGi 的開發(fā)模式極大地簡化了編寫真正可插入、模塊化和組件化的服務端應用程序的流程。開發(fā)練習將基于 OSGi 引用實施 Equinox 之上(在這個系列文章都是如此)。不過,這次我們將在服務器端使用 Equinox(參考閱讀:Equinox入門 )。開 始時,我們將討論部署 OSGi Web 應用程序的選項序(本例中為 Jetty 或 Tomcat ),之后是一個簡短的指南,配置 Web 應用程序開發(fā)環(huán)境。然后,我們將開發(fā)一個簡單的 Hello World OSGi Web 應用程序并使用不同的方式對其進行部署。

使用服務器端Equinox 進行應用程序開發(fā)

使用服務器端Equinox 開發(fā) OSGi Web 應用程序有兩種方法:你可以將輕量級的 servlet 容器(如 Jetty)嵌入到 OSGi 容器中,或者將 OSGi 容器嵌入到 Web 應用程序中,然后在 servlet 容器(如 Apache Tomcat)中部署該程序。

現(xiàn)在,好消息是:無論選擇何種方式,開發(fā) OSGi Web 應用程序的流程是相同的。因此,最好是在開發(fā)過程中將 servlet 容器嵌入到你的 OSGi 容器;一旦應用程序就緒,你就可以對其重啟打包(re-package)并進行部署。馬上你就可以學習如何將 servlet 容器嵌入到你的 OSGi 容器。但第一步,我們需要設置開發(fā)環(huán)境。

有關(guān)Equinox:Equinox 崛起

服務器端Equinox項目正在快速發(fā)展。存在這樣一個趨勢:增加對流行的 MVC 框架(如 Apache Struts)和 Spring Web 框架的支持,還有對于普及的對象-關(guān)系映射工具(如 Hibernate)的支持。富 Ajax 平臺是另一個 Eclipse 項目,它允許你使用具有服務器端 Equinox 的 Ajax 應用程序。

設置開發(fā)環(huán)境

在本節(jié)的應用程序開發(fā)練習中,我們會將一個輕量級 servlet 容器嵌入到 OSGi 套件(或插件,即 Eclipse 語境下的 plug-in)。一旦這個插件安裝到 OSGi 容器,它將監(jiān)聽 HTTP 請求。接收到一個請求時,它將查看任何已安裝的插件是否能夠?qū)φ埱筮M行處理,如果是,那么它會將控制轉(zhuǎn)發(fā)給相應的插件來生成一個響應。一旦生成響 應,OSGi 容器會將其轉(zhuǎn)發(fā)至客戶。

服務器端 Equinox 通過提供幾個預制的插件(將 servlet 容器嵌入到 OSGi 插件)來簡化基于 OSGi 的 Web 應用程序開發(fā)。以下插件都包含了一個嵌入的 servlet 容器:

org.eclipse.equinox.http:運行占用空間(footprint)非常小的插件,適合于資源有限的環(huán)境。

org.eclipse.equinox.http.jetty:使用 Jetty 作為底層引擎來提供對 Servlet API 2.4 的支持。

在本小節(jié)中,我們通過將 Jetty 插件嵌入到 Eclipse IDE 來配置 OSGi Web 應用程序開發(fā)環(huán)境。(如果您的 IDE 尚未啟動,應先啟動它)。

1. 將 jettyhttp-anon.psf 下載到你的計算機。

2. 右擊 Package Explorer 然后選擇 Import > Team > Team Project Set,然后單擊下一步(Next)。

3. 在 Import a Team Project Set(導入團隊項目設置)對話框中,單擊 Browse 并選擇你下載到本地的 jettyhttp-anon.psf 文件,如圖 1 所示。

導入插件  

圖 1. 導入插件

單擊 Finish 啟動導入流程。這個步驟可能需要幾分鐘,要看你的互聯(lián)網(wǎng)連接速度,因為 Eclipse 將從 dev. CVS 庫下載必需的項目文件。

4. 一旦導入完成,你應該可以看到一些套件已導入到你的工作空間中:

  1. javax.servlet v2_4  
  2. org.apache.commons.logging v1_0_4  
  3. org.eclipse.equinox.http.jetty  
  4. org.eclipse.equinox.http.registry  
  5. org.eclipse.equinox.http.servlet  
  6. org.mortbay.jetty v5_1_11

你的開發(fā)環(huán)境已準備就緒。下一步是在 Equinox OSGi 框架中執(zhí)行你的套件。如果忘記如何操作,請查閱本系列的第一節(jié)。

驗證你的設置

如果你已經(jīng)在 Equinox OSGi 框架中執(zhí)行套件,你將會在控制臺視圖中看到  OSGi> 提示符。你應能夠在 OSGi 控制臺中看到 Jetty servlet 容器生成的信息,這些信息類似下面的列表 1。

列表 1. OSGi 控制臺中的 Jetty 信息

  1. osgi> May 21, 2008 12:28:06 PM org.mortbay.http.HttpServer doStart  
  2. INFO: Version Jetty/5.1.x  
  3. May 21, 2008 12:28:07 PM org.mortbay.util.Container start  
  4. INFO: Started org.mortbay.jetty.servlet.ServletHandler@f47bf5 
  5. May 21, 2008 12:28:07 PM org.mortbay.util.Container start  
  6. INFO: Started HttpContext[/,/]  
  7. May 21, 2008 12:28:07 PM org.mortbay.http.SocketListener start  
  8. INFO: Started SocketListener on 0.0.0.0:80 
  9. May 21, 2008 12:28:07 PM org.mortbay.util.Container start  
  10. INFO: Started org.mortbay.http.HttpServer@1f6df4c

一直得到你看到 INFO: Started org.mortbay.http.HttpServer@1f6df4c 之后,再進行下一步操作。

在瀏覽器中輸入 http://localhost/ 來驗證 你可以分為 Jetty服務器。你應能夠看到錯誤頁面,其信息如列表 2 所示。

列表 2. Jetty 錯誤信息

  1. HTTP ERROR: 404 
  2. ProxyServlet: /  
  3. RequestURI=/  
  4. Powered by Jetty://

由于 Jetty 無法找到請求的資源,所有你會接收到 404 錯誤信息。如果無法找到已寄存的插件來處理當前請求,Jetty OSGi 插件在服務器端不提供任何默認的 index 頁面;作為替代,它將拋出這個 404 錯誤頁面。

如果你的設置能夠與我的講述匹配,那么在下一篇文章中你就可以開始第一個練習:使用服務器端Equinox 開發(fā)基于 OSGi Web 應用程序。敬請關(guān)注!

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本女优一色一伦一区二区三区| 日韩日韩日韩日韩在线| 欧美国产极品一区二区| 好东西一起分享老鸭窝| 中文字幕精品人妻一区| 高潮少妇高潮久久精品99| 日本亚洲欧美男人的天堂| 儿媳妇的诱惑中文字幕| 亚洲精品欧美精品一区三区| 日韩美女偷拍视频久久| 日韩精品一区二区三区含羞含羞草| 国产免费一区二区不卡| 欧美av人人妻av人人爽蜜桃| 亚洲av日韩一区二区三区四区| 亚洲伦理中文字幕在线观看| 国产精品免费视频久久| 国产农村妇女成人精品| 好吊日成人免费视频公开| 一区二区日本一区二区欧美| 国产一区二区不卡在线视频| 欧美三级不卡在线观线看| 亚洲国产精品久久网午夜| 国产精品欧美激情在线| 国产在线一区中文字幕| 男女午夜福利院在线观看| 国产一级片内射视频免费播放| 色婷婷久久五月中文字幕| 不卡在线播放一区二区三区| 日韩成人中文字幕在线一区| 91国内视频一区二区三区| 国产一区二区三区午夜精品| 欧美精品激情视频一区| 中文字幕人妻一区二区免费 | 亚洲男人的天堂久久a| 国产一区二区三区口爆在线| 国产精品99一区二区三区| 中文字幕亚洲视频一区二区| 午夜亚洲少妇福利诱惑| 加勒比系列一区二区在线观看 | 五月婷婷欧美中文字幕| 高潮日韩福利在线观看|