Jersey with liferay, Servlet to portlet 转换

Jersey with liferay, Servlet to portlet conversion


我有一个配置了 Jersey rest API 的 webservlet。现在我必须将 servlet 转换为 liferay portlet。如何转换?比如我应该在 portlet.xml 中指定什么 portlet-class?下面是我的servlet的web.xml。

    <servlet>
    <servlet-name>charts</servlet-name>
    <!--<servlet-class>javax.servlet.http.HttpServlet</servlet-class>-->
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.charts.api.service</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>charts</servlet-name>
    <url-pattern>/charts</url-pattern>
    <url-pattern>/charts/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>

如何配置我的 portlet.xml 并通过我的门户使用休息服务?我还必须在 liferay jboss 服务器中部署 portlet。

为什么不在 liferay 中使用委托 servlet?

您可以创建一个 liferay portlet 并在 web.xml 中定义您的委托 servlet。

这里有一个定义示例:

<servlet>
    <servlet-name>buscador</servlet-name>
    <servlet-class>com.liferay.portal.kernel.servlet.PortalDelegateServlet</servlet-class>
    <init-param>
        <param-name>servlet-class</param-name>
        <param-value>com.dummy.servlet.BuscadorServlet</param-value>
    </init-param>
    <init-param>
        <param-name>sub-context</param-name>
        <param-value>buscador</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet> 

它将在 http://yourliferay/delegate/buscador

上监听

希望对您有所帮助