0

有人建议这可能是一种合理的方法,以便最大限度地减少对现有服务器配置的更改,但它实际上是否有效/受支持?无论哪种方式,我都找不到任何具体的东西。

在实践中,对于 JBoss Portal V2.4.2 服务器,似乎存在一些类加载问题,因此诸如可下载的 Stripes 示例或标准 Wicket 快速启动应用程序之类的东西无法运行,但我不确定问题是否存在有一个服务器特定的或通用的 - 任何人?

注意:这不是关于将现有的 Web 应用程序显示/移动到门户中,只要 Portal Server 也应该是有效的 AppServer?

4

6 回答 6

2

JSR 286(Portlet 2.0)规范

PLT.2.7

与 Java 2 Platform、Standard 和 Enterprise Edition 的关系

Portlet API v2.0 基于 Java Platform,Standard Edition 5.0 和 Enterprise Edition v1.4。Portlet 容器至少应满足 J2EE 规范 v 1.4 中描述的在 J2EE 环境中执行的要求。

因此,期望标准应用服务器应用程序在门户下工作并非不合理。

但是,根据定义,门户将在全局类空间中包含更多库。将库添加到容器总是会带来不兼容的风险,并且需要管理哪些类/资源暴露给您的应用程序以及如何(应用程序优先类加载等)。我过去曾遇到过第三方库的问题,这些库的依赖项与门户附带的版本冲突。我不希望依赖管理变得更容易。

正如他们所说,一次编写,到处测试。

于 2008-12-12T15:22:36.180 回答
0

我认为问题在于是否可以将标准 Web 应用程序呈现为来自 Portlet 容器的 Portlet。这是不可能的。Portlet 需要基于 GenericPortlet 类并具有特殊的部署描述符。有 JSR-168 标准,它指定了门户的要求。JSR-286 规范即将发布。

您唯一能做的就是创建一个通过 iframe 为现有应用程序提供服务的 portlet,但这当然很难看。

有一本名为“ Portlets and Apache Portals ”的关于 portlet 的免费书籍,它可能很有用。另请参阅规范。这个博客点很有趣。

于 2008-12-12T12:15:03.593 回答
0

根据我的经验,这是一个有效的建议。Portlet 应用程序通常也是 Web 应用程序(例如,它们可能包含一个 servlet,以允许也通过要在其中一个 portlet 中呈现的链接访问应用程序逻辑),因此它们包含 portlet.xml 和 web.xml,并且需要 j2ee 类和 jsr168类。WSRP 标准还包含资源链接类型,应该代表远程服务器的普通应用服务器。

Websphere 门户服务器也是一个应用服务器。

于 2008-12-12T12:21:26.700 回答
0

我使用 JBoss Portal、BEA WebLogic Portal 和 Apache Jetspeed 2 在单个 Web 应用程序中混合了 servlet 和 portlet。

但是,将 servlet 转换为 portlet 可能很困难。确实存在使用诸如Portals Bridges之类的桥接技术,但我很幸运能够避免进行这种转换,并且除了玩教程之外没有直接经验。

于 2008-12-12T13:45:26.017 回答
0

嗯...但它可以/排他地/包含 servlet,或者换句话说,应用程序是否需要至少 1 个 portlet?(我没有/想要提供一个 portlet,只是一个 servlet,但我只有一个 Portal Server!)

即使应用程序包含一个 portlet,也没有什么说您需要在某个页面上公开该 portlet。如果您编写这样的应用程序,只需编写任意数量的 servlet,直接链接到它们,不要在任何页面的任何地方放置任何虚拟/默认 portlet。

我编写了一个符合 JSR-168 的应用程序,其中包含一个空 portlet 和一个用于检索一些 XML 股票价格数据的 servlet。几个月以来,所有被调用的都是 servlet,portlet 在站点上的任何地方都不可见。后来我添加了一个 portlet,它从 XML 提要中提供了一些额外的数据。

于 2008-12-12T15:33:09.950 回答
0

答案是肯定的,它是有效的,但是特定的 JBoss Portal V2.4.* 版本似乎存在类加载器问题,因此只有更基本的 Web 应用程序才能正确运行。

于 2009-07-18T10:12:10.767 回答