繁体   English   中英

如何使用liferay 6和portlet显示servlet?

[英]How to display servlet using liferay 6 and portlet?

我正在尝试展示一个服装。 为此,我有一个在liferay中部署的portlet( .war )。 我在liferay中创建了私有网站,以便在不同的页面中看到不同的页面( .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我得到了这个:

在此输入图像描述

我得到了“未找到”的页面

我该怎么办?

解决方案是仅添加以下代码:

<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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM