使用 Sun JavaTM Studio Enterprise (Java Studio Enterprise) 的集成開發(fā)環(huán)境 (IDE) 可以快速開發(fā)應(yīng)用程序。本教程向您介紹一個 Portlet Builder 插件工具,它用于創(chuàng)建、測試和打包符合 Java 規(guī)范請求 (JSR) 168 Portlet 規(guī)范的 Portlet、JavaServer PagesTM (JSPTM) 以及提供程序。本教程假定您已經(jīng)熟悉了 Java Studio Enterprise 和 Sun JavaTM System Portal Server(門戶服務(wù)器)。 | 目錄 任務(wù)摘要 在典型的開發(fā)方案中,您可以在 Portlet Builder 中開發(fā) Portlet 和提供程序,在 Portlet Builder 的測試環(huán)境中對其進行測試,在 Portlet Builder 中進行打包,并使用《Sun Java System Portal Server 6 2005Q1 技術(shù)參考指南》(英文)中所述的門戶服務(wù)器命令行實用程序?qū)渴鸬介T戶服務(wù)器實例中。 關(guān)于部署 Portlet 應(yīng)用程序 Portlet 應(yīng)用程序是一個帶有額外部署描述符 portlet.xml 的 Web 模塊,當(dāng)該應(yīng)用程序部署到符合 JSR 168 的 Web 容器時,此描述符會將其標(biāo)識為 Portlet Web 應(yīng)用程序。Portlet 應(yīng)用程序包含一個或多個 Portlet 及其他資源。Portlet 的結(jié)構(gòu)與 Web 模塊的結(jié)構(gòu)相似。JSR 168 Portlet 規(guī)范是針對 Portlet 應(yīng)用程序的說明。 創(chuàng)建 Portlet 應(yīng)用程序與構(gòu)建 Web 模塊相類似。部署描述符是自動創(chuàng)建的,并且測試環(huán)境允許您在模擬的門戶服務(wù)器環(huán)境中測試您的程序。將 Portlet 應(yīng)用程序打包可以生成標(biāo)準(zhǔn)的 .war 包。您可以使用相應(yīng)的界面將這些包部署到任意的門戶服務(wù)器實例中。要使用門戶服務(wù)器進行部署,請在命令行界面 (CLI) 執(zhí)行 pdeploy。 Portlet Builder 不能通過與門戶服務(wù)器通訊來完成 Portlet 應(yīng)用程序的部署或執(zhí)行。要部署并測試 JSR 168 Portlet,必須將 Portlet 應(yīng)用程序中的 Portlet 進行打包。 返回頁首
關(guān)于 Portlet Builder 測試環(huán)境 Portlet Builder 測試環(huán)境,即仿真器,是一個不具有標(biāo)識服務(wù)器或目錄服務(wù)器的輕量門戶服務(wù)器實例。測試環(huán)境會顯示一個簡單的配置文件,其中具有一個呈現(xiàn) Portlet 或提供程序的容器。測試環(huán)境還是一個需要部署到 Web 容器中的 Web 應(yīng)用程序。 測試環(huán)境在一個與門戶桌面中的頻道類似的頻道中模擬提供程序或 Portlet。并且可以在不同的 Portlet 模式(諸如“編輯”和“幫助”)之間進行切換。測試環(huán)境包含頻道,并且顯示日志消息,您可以根據(jù)自己指定的配置更改來測試頻道。因為測試環(huán)境不提供驗證和授權(quán)功能,所以請將應(yīng)用程序部署到活動的門戶服務(wù)器實例后再進行此類配置操作。 當(dāng)您從項目節(jié)點的上下文菜單中選擇“運行項目”選項時,Portlet Builder 會同時將測試環(huán)境和 Portlet 應(yīng)用程序部署到應(yīng)用服務(wù)器中。隨后,Portlet Builder 會運行測試環(huán)境的主 JSP 頁(從 index.jsp 重定向的 PSSim.jsp)。 返回頁首
創(chuàng)建 Portlet 應(yīng)用程序和提供程序應(yīng)用程序 您必須創(chuàng)建 Portlet 應(yīng)用程序來包含 Portlet,并創(chuàng)建提供程序應(yīng)用程序來包含提供程序。 - 在 IDE 中,選擇“文件”>“新建項目”。
此時會打開“新建項目”向?qū)А? - 在“類別”窗格中,選擇“Portal 體系結(jié)構(gòu)”。
- 執(zhí)行以下任一操作:
- 要創(chuàng)建 Portlet 應(yīng)用程序,請在“項目”窗格中,選擇“Portlet 應(yīng)用程序”。
- 要創(chuàng)建提供程序應(yīng)用程序,請在“項目”窗格中,選擇“提供程序”。
- 單擊“下一步”。
- 在向?qū)У?#8220;名稱和位置”頁中命名項目,指定其文件的位置,同時接受所有其他缺省值。
- 單擊“完成”。
此時“項目”窗口中會包含與您的項目對應(yīng)的新項目節(jié)點。 下一步:構(gòu)建 Portlet 和提供程序 返回頁首
構(gòu)建 Portlet 和提供程序 構(gòu)建 Portlet Java Studio Enterprise 中包含 Portlet 模板。這些模板用來生成擴展接口的類。除模板外,您還可以下載樣例 (portletsamples.zip),樣例中包含了一種在 Portlet 應(yīng)用程序中使用 JSP 頁的方法,這為您使用 JSP 頁開發(fā) Portlet 提供了很好的開端。 IDE 中包含下列 Portlet 模板: 模板 | 描述 | 來自 GenericPortlet 的 Portlet | GenericPortlet 類是 javax.portlet.GenericPortlet 類的擴展。有關(guān)詳細信息,請參見《Sun Java System Portal Server 6 2005Q1 開發(fā)者指南》(英文)。 | 來自 PortletInterface 的 Portlet | Portlet 接口可以生成一個實現(xiàn) javax.portlet.Portlet 接口的簡單 Portlet 模板。Portlet 容器使用 Portlet 接口來調(diào)用 Portlet。所有 Portlet 都必須實現(xiàn)此接口,既可以直接實現(xiàn),也可以使用已實現(xiàn)此 Portlet 接口的現(xiàn)有類。 | 帶有 JSP 的 Portlet | 生成一個擴展 javax.portlet.GenericPortlet 類并使用 JSP 頁的簡單 Portlet 模板。 | 使用 GenericPortlet 模板構(gòu)建 HelloWorldPortlet Portlet 的步驟如下。 - 將 HelloWorldPortlet Portlet 添加到 Portlet 應(yīng)用程序中:
- 在“項目”窗口中,右鍵單擊項目節(jié)點,然后選擇“新建”>“來自 GenericPortlet 的 Portlet”。
此時會打開“新建 Portlet”向?qū)А? - 在“類名稱”字段中,鍵入新 Portlet 的名稱 HelloWorldPortlet。
- 單擊“完成”。結(jié)果如下:
- IDE 創(chuàng)建了兩個對象:HelloWorldPortlet.java 和 HelloWorldPortlet.portlet。
- .portlet 文件是此 Portlet 的主 portlet.xml 文件的一部分。
在 HelloWorld.java 中,進行如下更改: - 在 doView() 方法中,將
response.getWriter().write("VIEW CONTENT\n"); 替換為 response.getWriter().write("Hello World\n"); - 在 doEdit() 方法中,將
response.getWriter().write("EDIT CONTENT\n"); 替換為 response.getWriter().write("Hello World Edit Content\n"); 保存您所做的更改。 下一步:在測試環(huán)境中模擬 Portlet 應(yīng)用程序和提供程序應(yīng)用程序 返回頁首
構(gòu)建提供程序 Java Studio Enterprise 包含提供程序模板。這些模板用于生成擴展接口的類。 可通過 IDE 使用下列提供程序模板: 使用擴展 ProviderAdapter 模板構(gòu)建 HelloWorldProvider 提供程序的步驟如下。 - 將 HelloWorldProvider 提供程序添加到提供程序應(yīng)用程序中:
- 在“項目”窗口中,右鍵單擊項目節(jié)點,然后選擇“新建”>“擴展 ProviderAdapter”。
此時會打開“新建提供程序”向?qū)А? - 在“類名稱”字段中,鍵入新提供程序的名稱 HelloWorldProvider。
- 單擊“完成”。
此時 IDE 會創(chuàng)建三個對象:HelloWorldProvider.xml、HelloWorldProvider.properties 和 HelloWorldProvider.java。 在 HelloWorldProvider.java 中,進行如下更改:編輯 HelloWorldProvider.java 中的 getContent() 和 getEdit() 方法: - 在 getContent() 方法中,將
StringBuffer sbContent = new StringBuffer(); 替換為 StringBuffer sbContent = new StringBuffer(); sbContent.append("Hello World\n"); 。 - 在 getEdit() 方法中,將
StringBuffer sbContent = new StringBuffer(); 替換為 StringBuffer sbContent = new StringBuffer(); sbContent.append("Hello World.It‘s Edit Mode\n"); 保存您所做的更改。 下一步:在測試環(huán)境中模擬 Portlet 應(yīng)用程序和提供程序應(yīng)用程序 返回頁首
在測試環(huán)境中模擬 Portlet 應(yīng)用程序和提供程序應(yīng)用程序 請執(zhí)行下列步驟以模擬 Portlet 應(yīng)用程序和提供程序應(yīng)用程序。 - (對于 Portlet 應(yīng)用程序是可選的)指定您要模擬的 Portlet:
- 在“項目”窗口中,右鍵單擊 Portlet 應(yīng)用程序項目節(jié)點,然后選擇“屬性”。
- 在“項目屬性”窗口的“類別”窗格中,選擇“Portlet 集”,然后取消選中“使用所有 Portlet”復(fù)選框。
- 選擇要模擬的 Portlet。
- 單擊“確定”。
在“項目”窗口中,右鍵單擊項目節(jié)點,然后選擇“運行項目”。此時會出現(xiàn)如下操作: - Web 瀏覽器會打開一個包含了被模擬的 Portlet 的頁面。
- IDE 會將 Portlet 應(yīng)用程序和測試環(huán)境部署到缺省的 Web 容器,即應(yīng)用服務(wù)器中。
- 測試環(huán)境頁面會在 Java Studio Enterprise 缺省瀏覽器的 http://localhost:port/portlet/ 地址中顯示“運行”操作的結(jié)果。有關(guān)具體的端口信息,請參考“輸出”窗口。
下一步: 返回頁首
調(diào)試 Portlet Portlet Builder 不支持直接對某些節(jié)點進行調(diào)試,但是,您可以使用 Web 應(yīng)用程序調(diào)試工具對 Portlet 進行調(diào)試,這是因為 Portlet 應(yīng)用程序和測試環(huán)境都是 Web 應(yīng)用程序。 - 要將 Web 應(yīng)用程序部署到 Sun Java System Application Server,請確保在正常模式下至少運行過一次 Portlet 應(yīng)用程序。
當(dāng)您運行 Portlet 應(yīng)用程序時,Portlet 應(yīng)用程序會執(zhí)行 index.jsp。 - 使用“運行”菜單上的命令在 Portlet 代碼中設(shè)置斷點。
- 確保您的項目是主項目:
- 右鍵單擊項目節(jié)點。
- 選擇“設(shè)置主項目”。
在“運行”菜單中,選擇“調(diào)試主項目”開始進行調(diào)試。 下一步:在測試環(huán)境中模擬 Portlet 應(yīng)用程序和提供程序應(yīng)用程序 返回頁首
打包并部署 Portlet 應(yīng)用程序和提供程序應(yīng)用程序 請執(zhí)行下列步驟來打包并部署 Portlet 應(yīng)用程序和提供程序應(yīng)用程序。 - (對于 Portlet 應(yīng)用程序是可選的)指定您要打包的 Portlet:
- 在“項目”窗口中,右鍵單擊 Portlet 應(yīng)用程序項目節(jié)點,然后選擇“屬性”。
- 在“項目屬性”窗口的“類別”窗格中,選擇“Portlet 集”,然后取消選擇“使用所有 Portlet”復(fù)選框。
- 選擇要打包的 Portlet。
- 單擊“確定”。
打包您的 Portlet: - 在“項目”窗口中,右鍵單擊 Portlet 應(yīng)用程序項目節(jié)點,然后選擇“打包”。
- 在“選擇 WAR 文件名”對話框中,定位到您要保存 .war 文件的位置,在“文件名”字段中鍵入該文件的名稱,然后單擊“確定”。
IDE 會創(chuàng)建一個符合 JSR 168 規(guī)范的 .war 文件。 打包您的提供程序: - 在“項目”窗口中,右鍵單擊提供程序應(yīng)用程序項目節(jié)點,然后選擇“打包”。
Web 瀏覽器會打開一個包含了提供程序打包參數(shù)的頁面。 - 指定您要保存 .par 文件的路徑,然后選擇“創(chuàng)建文件”。
(可選)部署門戶組件: 返回頁首
另請參見 |