繁体   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