微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的欢迎文件在 Open Liberty 中返回一个空白页面 web.xmlserver.xml附加信息解决方案想法

如何解决我的欢迎文件在 Open Liberty 中返回一个空白页面 web.xmlserver.xml附加信息解决方案想法

在 Open Liberty 21.0.0.6. 上,当我将其指向 http://<host>:<port>/<ctxRoot> 时,浏览器不会显示我的欢迎 JSF 页面,而是返回空内容

web.xml

<web-app id="WebApp_ID" version="4.0"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">

  <display-name>MyJSF</display-name>

  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>

   <welcome-file-list>
      <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>

</web-app>

和一组功能

server.xml

<server>
  <featureManager>
    <feature>jaxrs-2.1</feature>
    <feature>cdi-2.0</feature>
    <feature>jpa-2.2</feature>
    <feature>jdbc-4.3</feature>
    <feature>jsf-2.3</feature>
    <feature>mpHealth-3.0</feature>
  </featureManager>

附加信息

我的应用中还有一些其他内容,例如 JPA 和 JAX-RS。

解决方法

根本原因 - 带有“/”应用程序路径的 JAX-RS 应用程序

就我而言,问题是我将 JAX-RS 应用程序配置为使用:@ApplicationPath("/"),这与我让“/”应用程序路径提供欢迎文件的目标相冲突。

解决方案

将 JAX-RS 应用移动到它自己在 WAR 中的路径,例如:

import javax.ws.rs.core.Application;

@ApplicationPath("/api")
public class TestApp extends Application { }

想法

通过将现有的简单 JAX-RS 应用程序使用“/”作为应用程序路径,然后向其中添加 JSF,很容易发现这种情况。然后我以为我在 JSF 实现上遇到了问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。