java - 我可以仅使用应用程序服务器(Tomcat、JBoss 等)创建 Java 门户 (JSR 168/286) 吗?

标签 java liferay portlet ibm-was jsr286

我想使用 Java 规范创建一个轻量级门户。我希望能够在不同的应用程序服务器(在本例中为 WebSphere、Tomcat 和 JBoss)中部署相同的门户项目。

我已经检查过像 Liferay 这样的产品,但是我想创建自己的框架和界面,并且只是嵌入 Java Portlet,而不是使用 Liferay 的完整框架和界面。

使用 IBM WebSphere(不是 WebSphere Portal),我遵循了以下指南:

"Exploiting the WebSphere Application Server V6.1 portlet container: Part 1: Introducing the portlet container "

我设法创建了一个简单的 JSP,其中嵌入了两个简单的 portlet。每个 portlet 项目都是与产品无关的(与 Liferay 或 Apache Pluto 项目相反,它们包括特定于产品的配置文件)。这就是我想要做的。

问题是,如果我尝试在 Tomcat 或 JBoss 中运行这些相同的项目,它们将无法运行。正如我之前所说,这些项目没有任何 IBM 或 WebSphere 特定的配置文件。

所以,我的问题是:

  1. 有没有一种方法可以使用 Java Portlet 项目而无需添加 特定于供应商的文件或代码,并将它们添加到任何应用程序服务器?
  2. 我在哪里可以找到指南 创建与应用程序服务器无关的 portlet 和门户?
  3. 是不是 WebSphere 有一个 Portlet 容器但其他服务器 不?

最佳答案

  1. Is there a way to use Java Portlet projects without having to add vendor-specific files or code, and add them to any application server?

没有。 tomcat、jboss 等都是 Servlet 容器,要运行 portlet,您需要 Portlet 容器,它实际上由 Liferay 等门户提供。

  1. Where can I find the guidelines to create application-server-agnostic portlets and portals?

JSR specification给你指南。这是一个 good link为了它。我再次重复 Portlet,就像 Servlet 需要 Servlet 容器一样,它们需要 Portlet 容器。但是,当您已经拥有功能齐全的 Portlet 容器(如 Liferay、IBM 等)时,这将是重新发明轮子,这些容器是根据具有许多附加功能的规范创建的。 Liferay 是一个在大多数应用程序服务器上运行的 portlet 容器,如果您创建一个 portlet 而不使用任何供应商特定的 API,那么它应该在所有不同的门户网站(如 Liferay、IBM 等)中运行,只需添加一些配置文件提供额外的用户体验和功能。

  1. Is it the case that WebSphere has a portlet container but the other servers don't?

是的。 :-) 至少您链接到的文章清楚地提到它有一个 portlet 容器:

This article series examines the JSR 168 portlet container available in IBM WebSphere Application Server V6.1 and differentiates its use from WebSphere Portal.

希望这对您有所帮助并助您一臂之力。

关于java - 我可以仅使用应用程序服务器(Tomcat、JBoss 等)创建 Java 门户 (JSR 168/286) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28335770/

相关文章:

java - Android 谷歌地图问题

java - 带有 h2 嵌入式数据库的 MySQL LONGTEXT

java - Liferay + JSON + AJAX

tomcat - Liferay - Tomcat 不从部署文件夹中选择 WAR

gradle - Gradle构建Liferay Hello World Portlet

java - PortalUtil.getOriginalServletRequest 和 PortalUtil.getHttpServletRequest 有什么区别?

java - JMeter JSR233 结果到仪表板

java - 单击存储在下拉菜单中的 'Not Reliable' 时,我的 Webdriver 方法是 'Item'?

java - 渲染 PortletURL 不指向 jsp 文件

liferay - 在 Liferay 上部署 JSR 286 portlet