kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks

          http://dev2dev.bea.com.cn/techdoc/wlportal/200409255.html



          Java portlets
          是構建在 JSR 168 portlet標準之上的,有時候他們被打包放在WARWeb Application Archive)文件中提供給開發者使用。這篇文章就介紹了如何使用以WAR文件分發的 Java portlets

          下載作者提供的與本文相關的文件。

          WebLogic Portal 8.1 SP3開始,有兩種新方法能使打包在WAR文檔中的portlets可以在門戶中被訪問。您可以將portlets集成為已有門戶web應用的一部分,或者選擇將portlets放在單獨的web應用中。我們將分別利用Portlet Preparer ToolWeb services for Remote PortletsWSRP)來展示這兩種方法。您可以根據自己的需求選擇最適合的方式:

          ·          單一WAR文件——使用portlet preparer 工具將WAR內容集成到現有項目中。如果您正在使用一小部分第三方portlets和您自己的門戶項目,這種方式比較適用。

          ·          多個WAR文件——利用WSRP,可以將portlets保存在一個單獨的WAR中,并從目標門戶項目中引用它。如果您有大量項目擁有多個第三方portlets,最好考慮這種方式。


          下面我們將詳細介紹這兩種方式。

          單一WAR文件——使用Portlet Preparer工具
          Portlet Preparer Tool
          作為一種工具可以從dev2dev網站獲得:
          http://dev2dev.bea.com/codelibrary/code/portletpreparer.jsp

          這個工具從包含在WAR文件中的JSR168 portlets中創建.portlet文件,因此允許WebLogic Workshop將此文件的內容導入到一個門戶Web項目中。運行preparer 工具的步驟是簡單而直觀的,有如下兩種可選方式:

          ·          portlets添加到一個新的項目。

          ·          portlets添加到一個現有門戶項目中。


          以下是對于每種方式的步驟:

          portlets添加到一個新的項目
          要導入一個包含JSR168 portlets WAR文檔,完成以下步驟:

          1.        portletConverter.jar解壓縮到硬盤的一個臨時目錄中(以下我們稱此目錄為<converter-root>)。

          2.        WAR文件移到<converter-root>中。

          3.        WEBLOGIC_HOME設置為env.sh 或者 env.bat(依平臺而定)。

          4.        運行env.sh 或者 env.bat(依平臺而定)。

          5.        運行ant -Dwar.file=(<war-file-name>WAR文件的文件名)

          6.        <converter-root>下生成一個叫做tempDir的目錄。

          7.        打開WebLogic Workshop并將tempDir作為一個門戶Web項目導入。


          Portlets添加到一個現有門戶項目中

          要在現有門戶Web應用中添加portlets,需要完成以下步驟:

          1.        完成上述的第1-7步。

          2.        復制所有必需的類文件到WEB-INF\classes目錄,同時復制所有必需的jar文件到WEB-INF\lib目錄。

          3.        web.xml作必要的修改(例如:servlet定義)。

          4.        向每個加入的portletportlet.xml文件中添加元素(這些拷貝來自前面創建的tempDir 目錄中的portlet.xml)。

          5.        tempDir\portlets中拷貝.portlet文件到您的Web應用中。

          6.        portlets添加到您的門戶。


          多個WAR文件:使用遠程 Portlets Web 服務(WSRP
           
          利用WSRP,您可以在單獨的Web應用中部署Java portlets,并從門戶項目中引用它們。要了解關于WSRP如何工作的更多信息,請訪問以下鏈接并下載WebLogic Portal 8.1 SP3

          ·          WSRP 概述: http://dev2dev.bea.com/products/wlportal81/articles/wsrp.jsp

          ·          (下載WebLogic Portal 8.1 SP3 http://commerce.bea.com/index.jsp


          以下場景中SamplePortal是一個主門戶,從這里您可以創建到其他WAR文件中portlets的引用。這樣就可以將不同WAR文件的portlets導入到SamplePortal中。

          1.        創造一個不同的新門戶項目。并按“將portlets添加到一個新的項目”中所描述的七個步驟來操作。

          2.        啟動門戶示例域,并登錄到以下Administration Portal中:http://localhost:7001/portalAppAdmin .

          3.        Portals標簽下,點擊左邊的Library

          4.        當樹展開時,點擊Portlet Producers圖標。

          5.        producer資源面板出現在右側后,點擊“Browse/Add Producers”標簽。

          6.        在“Enter Producer to Browse”框中輸入:http://localhost:7001/<new portlet war file>/producer?wsdl,點擊“ok”。

          7.        此時您將看到一列producer的屬性,包括可用的portlet。點擊“Add Producer”并且填寫注冊區域。

          8.        注冊之后,您將處于“ Available Producers ”窗口中。在“ Available Producers”框中,點擊“Register”按鈕,在對話框中,點擊“Save”。

          9.        點擊您注冊的Producer,并從門戶中選出需要引用的portlet


          這時,點擊庫目錄中的“All Portlets”就可以看到剛剛添加的遠端portlet。在Available Portlets 框的Category下拉菜單中還有一個方便的portlet類別,“All Remote Portlets,”。現在您可以將遠端portlet加入一個頁面中供用戶使用。

          在此場景中,SamplePortal將扮演一個消費者的角色,而您的其他web應用將成為producer角色。

          使Pluto Test Suite PortletsSamplePortal中可用
          下面用一個例子來重點說明在多個WAR文件中使用portlets。基本思想是在一個web應用中為其他web應用的WebLogic Portal提供一組可用的portlets
           

          在下面的例子中,我們從Apache下載了Pluto test portletsJSR 168 - test suite)。接下來,我們創建一個新的web應用,使用portlet工具來導入WAR文件,最終使用WSRP來使他們在門戶web應用中可用。

          1.        Apache上下載最新的Pluto test suite portlets(出于方便起見,本文中我們附帶了一份拷貝)。

          2.        使用 Portlet工具使WAR WebLogic Workshop導入做好準備。



          注意,圖中.portlet文件已經創建,同時WAR也已做好導入的準備。

          3.        執行作為一個門戶項目(獲得168支持)的WAR文件的導入步驟。在Workshop中從您的應用點擊導入選項就可以實現。




          編輯portlet.tld文件,指向JSR 168標準的BEA實現(出于方便考慮,本文中我們附帶了一個拷貝)

          這時,您已經創建了一個新的web應用,并導入了168 portlets。現在讓他們可以在其他web應用中使用。這個例子使用了SamplePortal web應用。有兩種方式可以將這些portlet帶入SamplePortal。您可以在Workshop中使用portlet wizard為新建的web應用創建一個引用,另外,您也可以在管理門戶中創建一個引用。

          下面的步驟將使用管理門戶。確保已有一個門戶和創建好的桌面。在這個例子中,可以使用SamplePortal模板生成一個門戶“P1”和一個桌面“D1”。

          1.        登錄到管理門戶。

          2.        SamplePortal中添加一個新頁面,并且命名為Pluto Test

          3.        進入庫中,選擇portlet producers,并添加一個新的producers

          4.        輸入地址:http://localhost:7001/<new_web_app>/producer?wsdl

          5.        執行添加producer并且注冊。

          6.        返回并選擇需要添加的portlet。在這個例子中,我們選擇了“Test Portlet #1”,它是Pluto Test suite的一部分。

          7.        切換到desktopD1”,并選擇添加一個portlet,選擇“Test portlet 1”。


          當啟動桌面時,您將看到一個新的名為“Pluto Test”的頁面,在頁面中您將看到來自位于另一個單獨web應用的Pluto test suite中的“Test Portlet #1”。


          注意SamplePortal位于sampleportal web應用中,而Pluto Test Suite Portlets位于我們創建的新Pluto web應用中。

          其他需要考慮的事項
          一個可能會降低部署時間的因素是使用了門戶項目的縮微版本。您可以創建自己的只支持JSR 168而不支持其他服務的項目。與門戶內容管理服務、Java頁面流和其他非168服務相關的標簽都將被刪除。

          posted on 2005-04-22 22:14 笨笨 閱讀(394) 評論(0)  編輯  收藏 所屬分類: J2EEALLWeblogic Portal
          主站蜘蛛池模板: 民勤县| 乌兰浩特市| 武陟县| 华蓥市| 上犹县| 西充县| 巴南区| 天长市| 南充市| 云安县| 德格县| 曲松县| 台东县| 黔南| 大同市| 民勤县| 彩票| 乌什县| 云龙县| 淳化县| 黎平县| 彭山县| 东辽县| 玉田县| 金堂县| 柘荣县| 新巴尔虎左旗| 汨罗市| 涟源市| 额济纳旗| 敦煌市| 嫩江县| 通道| 咸宁市| 昭觉县| 龙口市| 和政县| 屯昌县| 息烽县| 桃园市| 平谷区|