簡體   English   中英

如何創建Portlet /在Weblogic IDE Eclipse上部署

[英]How to create portlets / deploy on weblogic IDE eclipse

我正在學習“如何創建門戶網站應用程序”,並閱讀了一些文檔和教程。 我發現我們需要一台應用程序服務器,一台門戶容器和一台IDE。

請幫助我理解它。

我想創建一個portlet並將其部署在weblogic服務器上。 所以我需要什么。

表示:eclipse portlet容器應用服務器中的任何插件等。

謝謝

我剛剛啟動並運行了pluto portlet容器。 冥王星的教程有些粗略,大多數包含可能使您偏離路線的錯誤。 因此,我已盡力做到這一點。

從那以后,我設法使冥王星在WebLogic下運行,盡管並不完美(稍后討論)。 因此,我認為您的目標是:

  1. 安裝一個portlet容器:例如pluto
  2. 創建一個HelloWorld portlet,進行部署並發布
  3. 也許部署portlet,使其在WebLogic下運行? 不確定這是否是您想要的。
  4. Portlet通訊
  5. 構建更多重量級的portlet,滿足您的需求
  6. 升級門戶實施(例如JetSpeed)

因此,這里是:

1.安裝Portlet容器:例如pluto

我建議您從pluto portlet開始,因為這是參考實現,並且遵循規范的版本2(JSR-286)。 從以下位置下載二進制發行版:

http://portals.apache.org/pluto/v20/getting-started.html

它位於tomcat 6網絡服務器中。 因此,要運行基本的portlet,只需配置並啟動tomcat。 可以在webapps目錄中找到pluto Web應用程序。

要了解有關tomcat的更多信息,請參見此處:

http://www.puschitz.com/InstallingTomcat.html#InstallingTomcatSoftware

請注意,這有些復雜(有充分的理由),因為它建議創建單獨的tomcat實例。 雖然本教程實際上只花了一個小時,所以我建議您在Portlet工作之前進行推薦,以便您有良好的基礎。

簡單來說,要啟動pluto(好是tomcat),您只需將$ {CATALINA_HOME}設置為您的tomcat安裝目錄(pluto-2.0.2)並執行{pluto_install_dir} /bin/startup.sh。 您可以使用以下方法從瀏覽器訪問pluto門戶:

http://localhost:8080/pluto/portal

2.創建一個HelloWorld portlet,進行部署並發布

令人高興的是,冥王星教程幾乎足以使您入門。 令人難以置信的是,我發現的所有教程都有缺陷或錯誤。 在一點幫助下,您應該可以解決這個問題。 它在同一地方:

http://portals.apache.org/pluto/v20/deploying.html

“ Portlet程序集”下顯示的目錄結構略有錯誤。 webapp文件夾應與main文件夾下的java文件夾處於同一級別。

這是一個示例HelloWorld portlet,它使用響應中的直接輸出(如servlet)呈現:

package com.mycompany.portlet;
//imports omitted...

public class HelloWorldPortlet extends GenericPortlet{
  protected void doView(RenderRequest request,RenderResponse response)
        throws PortletException, IOException {
      response.setContentType("text/html");
      response.getWriter().println("Hello World");
  }
}

這是一個示例WEB-INF / portlet.xml:

<?xml version="1.0" encoding="UTF-8"?>

<portlet-app
    xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
    version="1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
                        http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">

    <portlet>
        <description>HelloWorld Description</description>
        <portlet-name>HelloWorldPortlet</portlet-name>
        <display-name>Hello World Display Name</display-name>
        <portlet-class>com.mycompany.portlet.HelloWorldPortlet</portlet-class>
        <expiration-cache>-1</expiration-cache>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>VIEW</portlet-mode>
        </supports>
        <supported-locale>en</supported-locale>
        <portlet-info>
            <title>Hello World</title>
            <short-title>Hello World</short-title>
            <keywords>Hello,pluto</keywords>
        </portlet-info>
    </portlet>
</portlet-app>

這是WEB-INF / web.xml的示例:

<web-app id="WebApp_ID">
   <display-name>Hello World Portlet</display-name>
   <taglib>
      <taglib-uri>http://java.sun.com/portlet</taglib-uri>
      <taglib-location>tld/portlet.tld</taglib-location>
   </taglib>
</web-app>

將portlet.tld(prtlet 2.0版本)放在您的tld目錄中。 注意,我們沒有使用JSP,因此它將為空。 有關基於JSP的良好(但不完整)的教程,請參見此處:

http://www.ibm.com/developerworks/java/library/j-pluto/

使用提供的mvn構建腳本進行構建:

http://portals.apache.org/pluto/v20/deploying.html

如果不添加構建腳本的“自動部署”部分,請將構建戰爭移至您的Pluto(tomcat)Web應用程序。

在瀏覽器中,必須從冥王星門戶(添加頁面->添加portlet)的管理頁面發布新的HelloWorld Web應用程序。 應該添加一個包含您的Portlet的新選項卡。

3.在WebLogic下部署portlet

  1. 將冥王星庫添加到WebLogic庫中。 我將它們放在您的域庫目錄中(該目錄包含一個自述文件,指示這是用於添加要在10.2.3上動態加載的jars)。 這是$ {MYDOMAIN} / lib。 要找到的罐子如下:

    http://portals.apache.org/pluto/v20/embedding.html

  2. 將Pluto Web應用程序和所有引用(發布)的Webapp添加到WLS上傳目錄中。 這意味着包括冥王星提供的測試套件和新的helloworld Web應用程序。

  3. 配置WLS以能夠訪問您的Portlet:

    1. Pluto Web應用程序是為用戶Pluto和Tomcat配置的安全性。 因此,您必須向WLS安全領域添加一個新的“ pluto”用戶[安全領域-> myRealm]
    2. 配置webapp安全以將安全角色映射到WLS用戶。 這意味着創建$ {MYUPLOAD} /pluto/WEB-INF/weblogic.xml。 在這里為主體冥王星(您的新WebLogic用戶)添加一個“ security-role-assignment”條目。
    3. 請注意,testsuite / WEB-INF / web.xml僅授權給用戶tomcat。 將此更改為冥王星。
    4. 將portlet_2_0.tld添加到$ {UPLOAD} / testsuite / WEB-INF / tld(設為tld dir)。 可在以下位置找到它: http : //svn.apache.org/repos/asf/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/tld/portlet_2_0.tld
    5. 在WLS下,一些測試套件仍將失敗。 apache和社區之間存在懸而未決的問題。 他們將其視為WLS問題(在https://issues.apache.org/jira/browse/PLUTO-571的apache pluto jira上)。
    6. 使用JSP呈現時,portlet實際上呈現在portlet框架(div)之外,這是一個問題。 尚未深入探究。

4. Portlet通訊

有兩個portlet可以互操作。 參考:

http://publib.boulder.ibm.com/infocenter/wpexpdoc/v6r1/index.jsp?topic=/com.ibm.wp.exp.doc_v6101/dev/pltcom_pubrndrprm.html

5.構建更多重量級的portlet

請參考使用JSP的更復雜的webapp教程,網址為:

http://www.ibm.com/developerworks/java/library/j-pluto/
//Warning: portlet 1.0 (JSR-168) and contains errors

然后嘗試自己的...

6.升級門戶實施

以JetSpeed為例。 參考:

http://portals.apache.org/jetspeed-2/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM