我正在学习“如何创建门户网站应用程序”,并阅读了一些文档和教程。我发现我们需要一台应用程序服务器,一台门户容器和一台IDE。
请帮助我理解它。
我想创建一个portlet并将其部署在weblogic服务器上。所以我需要什么。
表示:eclipse中的任何插件
Portlet容器
应用服务器
等等.....
谢谢
最佳答案
我刚刚启动并运行了pluto portlet容器。冥王星的教程有些粗略,大多数包含可能使您偏离路线的错误。因此,我已尽力做到这一点。
从那以后,我设法使冥王星在WebLogic下运行,尽管并不完美(稍后讨论)。因此,我认为您的目标是:
安装Portlet容器:例如冥王星
创建一个HelloWorld portlet,进行部署并发布
也许部署portlet,使其在WebLogic下运行?不确定这是否是您想要的。
Portlet通讯
构建更多重量级的portlet,满足您的需求
升级门户实施(例如JetSpeed)
因此,这里是:
1.安装Portlet容器:例如冥王星
我建议您从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
将冥王星库添加到WebLogic库中。我将它们放在您的域库目录中(该目录包含一个自述文件,指示这是用于添加要在10.2.3上动态加载的jars)。这是$ {MYDOMAIN} / lib。要找到的罐子如下:
http://portals.apache.org/pluto/v20/embedding.html
将Pluto Web应用程序和所有引用(发布)的Webapp添加到WLS上传目录中。这意味着包括冥王星提供的测试套件和新的helloworld Web应用程序。
配置WLS以能够访问您的Portlet:
Pluto Web应用程序是为用户Pluto和Tomcat配置的安全性。因此,您必须向WLS安全领域添加一个新的“ pluto”用户[安全领域-> myRealm]
配置webapp安全以将安全角色映射到WLS用户。这意味着创建$ {MYUPLOAD} /pluto/WEB-INF/weblogic.xml。在这里为主体冥王星(您的新WebLogic用户)添加一个“ security-role-assignment”条目。
请注意,testsuite / WEB-INF / web.xml仅授权给用户tomcat。将此更改为冥王星。
将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
在WLS下,一些测试套件仍将失败。 apache和社区之间存在悬而未决的问题。他们将其视为WLS问题(在https://issues.apache.org/jira/browse/PLUTO-571的Apache Pluto Jira上)。
使用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/
关于java - 如何创建Portlet/在Weblogic IDE Eclipse上部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665010/