我正在尝试显示一个servlt。为此,我有一个部署在 liferay 内的 portlet (.war
)。我在 liferay 中创建了私有(private)站点,以查看 porlet 中的不同页面(.xhtml
)。
我在 web.xml
中定义了一个用于显示 servlet 内容的 url。
<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 名称和访问它的方式。
正确的网址是
<your-url>.<your-domain>/delegate/<servlet-name>
完成了:D
关于java - 如何使用liferay 6和portlet显示servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42656131/