如何使用 liferay 6 和 portlet 显示 servlet?
How to display servlet using liferay 6 and portlet?
我正在尝试显示服务。为此,我有一个部署在 liferay 中的 portlet (.war
)。我在 liferay 中创建了私有站点,以便在 porlet 中查看不同的页面 (.xhtml
)。
我在 web.xml
中定义了一个 url 来显示 servlet 内容。
<servlet>
<servlet-name>metrics-admin</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortalDelegateServlet</servlet-class>
<init-param>
<param-name>servlet-class</param-name>
<param-value>com.codahale.metrics.servlets.AdminServlet</param-value>
</init-param>
<init-param>
<param-name>sub-context</param-name>
<param-value>/metric/admin/*</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>metrics-admin</servlet-name>
<url-pattern>/metrics/admin/*</url-pattern>
</servlet-mapping>
但是如果我使用 postman
并尝试 GET
我得到了这个:
我得到了 "Not Found"
这样的页面
我该如何解决?
解决方案是仅添加以下代码:
<servlet>
<servlet-name>metrics-admin</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortalDelegateServlet</servlet-class>
<init-param>
<param-name>servlet-class</param-name>
<param-value>com.codahale.metrics.servlets.AdminServlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
如你所见,metrics-admin
是servlet名称和访问方式。
正确的 URL 是
<your-url>.<your-domain>/delegate/<servlet-name>
完成 :D
我正在尝试显示服务。为此,我有一个部署在 liferay 中的 portlet (.war
)。我在 liferay 中创建了私有站点,以便在 porlet 中查看不同的页面 (.xhtml
)。
我在 web.xml
中定义了一个 url 来显示 servlet 内容。
<servlet>
<servlet-name>metrics-admin</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortalDelegateServlet</servlet-class>
<init-param>
<param-name>servlet-class</param-name>
<param-value>com.codahale.metrics.servlets.AdminServlet</param-value>
</init-param>
<init-param>
<param-name>sub-context</param-name>
<param-value>/metric/admin/*</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>metrics-admin</servlet-name>
<url-pattern>/metrics/admin/*</url-pattern>
</servlet-mapping>
但是如果我使用 postman
并尝试 GET
我得到了这个:
我得到了 "Not Found"
这样的页面我该如何解决?
解决方案是仅添加以下代码:
<servlet>
<servlet-name>metrics-admin</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortalDelegateServlet</servlet-class>
<init-param>
<param-name>servlet-class</param-name>
<param-value>com.codahale.metrics.servlets.AdminServlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
如你所见,metrics-admin
是servlet名称和访问方式。
正确的 URL 是
<your-url>.<your-domain>/delegate/<servlet-name>
完成 :D