IBM portlet API 開發

本主題簡單概述了 IBM portlet API。不推薦使用該 API,並且本主題僅爲尚未遷移到標準 portlet API 的 portlet 提供支持內容。

抽象 Portlet 類是 IBM portlet API 的核心抽象。Portlet 類擴展 Servlet API 的 HTTPServlet。所有 portlet 間接地擴展此抽象類,且從 HttpServlet 繼承,如下所示:

...   +--javax.servlet.http.HttpServlet
|
+--org.apache.jetspeed.portlet.Portlet
|
+--org.apache.jetspeed.portlet.PortletAdapter
|
+--com.myCompany.myApplication.myPortlet

因此,portlet 是特殊類型的 servlet。這種類型的 servlet 的屬性使它們能容易地插入並在門戶網站服務器中運行。與 servlet 不同,portlet 不能直接發送重定向或錯誤到瀏覽器,轉發請求,或者寫任意的標記到輸出流。portlet 容器依賴於 WebSphere Application Server 實現的 J2EE 體系結構。結果是,portlet 按類似於 J2EE Web 應用程序的方式封裝,並按類似於 servlet 的方式部署。

總之,與 servlet 相比,可更加動態地管理 portlet。可在不啓動和重新啓動門戶網站服務器的情況下,應用以下更新:

  • 可使用門戶網站管理用戶界面安裝和除去由幾個 portlet 組成的 portlet 應用程序。
  • portlet 的設置可由有適當訪問權的管理員更改
  • 可使用管理 portlet 動態創建和刪除 portlet。例如,一旦管理員創建新的剪切,剪切 portlet 就可用於創建新的 portlet 實例。

portlet 容器依賴於 WebSphere Application Server 實現的 J2EE 體系結構。結果是,portlet 按類似於 J2EE Web 應用程序的方式封裝在 WAR 文件中,並按類似於 servlet 的方式部署。與其他 servlet 相似,要使用 servlet 部署描述符(web.xml)把 portlet 定義到應用程序服務器。這個文件定義 portlet 的類文件和只讀初始化參數。

下圖顯示部署了其 WAR 文件之後的 portlet。對於門戶網站服務器上部署的每個 portlet,它在應用程序服務器上創建一個 servlet 或者 portlet 類實例

portlet 的應用程序服務器和門戶網站服務器視圖

初始化參數是由 portlet 開發者設置的,並可由 portlet 使用 PortletConfig 對象讀取。servlet 部署描述符可以包含多個 Web 應用程序,每個 Web 應用程序由 <servlet> 元素定義。此外,每個 servlet 定義可以指向同一 portlet 類文件,這樣可爲每個 portlet 類實例使用不同的初始化參數,創建不同的 PortletConfig 對象。有關更多信息,請參閱 Web 應用程序部署描述符

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章