0

我对portlets and servlets. 这可能是一个延续

我之前的问题

我正在尝试创建一个也应充当 Web 服务的 portlet。我不知道为什么,

但客户需要这种方式。我与客户协商,我可以制作一个

使用简单的 jersey servlet 单独的 Web 服务应用程序......但无法说服。

我有以下疑问:

  1. Portlet 本身不能独立地向外界表示。如果那是

那么,将 portlet 作为 web 服务比不创建 portlet 有什么好处?

只包含 servlet 的完整 Web 服务项目?

  1. 通过网络搜索,我发现了一些可以将 portlet 作为

网络服务。这些示例代码建议我创建一个 portlet,在 web.xml 中包含 jersey-servlet 和 servlet 容器,以将portlet 作为 Web 服务。虽然它可能有效(我正在努力制作一个工作代码库)但是为什么要在已经驻留在 servlet 容器中的 portlet 容器中包含一个 servlet 容器。听起来很混乱?下图可以通过疑问传达:

在此处输入图像描述

在这种情况下,liferay 是一个 servlet,它首先对浏览器可见。这有

里面有多个portlet。如果我将 Portlet 作为 Web 服务,那么我必须将其创建

对浏览器可见,所以我在 portlet 中包含了一个 servlet(这是我的假设

根据web 的示例代码)。这就像来回摸鼻子一样。

我真的不明白为什么这个架构是这样的。以下几点我

猜测将 portlet 作为 Web 服务是明智的:

(i) 如果我为 Web 服务制作了一个 servlet(一个单独的项目),那么(作为团队中的 liferay 开发人员)我们不能声称这是一个 liferay 项目。

(ii) 如果 Web 服务是一个 portlet,那么我可以进行 portlet 间的通信。如果是 servlet,它不能(如果我没记错的话)。

请建议。

4

1 回答 1

0

我认为这可以驱使你达到你所需要的。可以在 EXCLUSIVE 模式下调用 portlet,其中不会在响应中生成门户或 portlet 内容。因此,您可以生成所需的任何“HTML”或数据作为响应。我正在研究并开始使用 Restful,但它看起来像是请求/响应 HTML 通信。主要区别在于将 HTML 映射到标准模式下的类和方法的注释。在liferay 中,您可以为您的portlet 分配一个URL。它可以产生类似于 Restful 中的行为。

于 2014-01-05T22:55:40.233 回答