【问题标题】:Unable to display index.html in jax rs with spring boot无法使用 Spring Boot 在 jax rs 中显示 index.html
【发布时间】:2019-05-28 10:43:39
【问题描述】:

我正在尝试使用 jax rs、springboot、angular 创建一个简单的应用程序。

我已将 index.html 放在静态文件夹中,但是在点击 url localhost:8080/index.html 或 localhost:8080 时,它会通过自定义异常处理程序抛出 404 not found 错误。我已将 index.html 添加为欢迎文件列表。

我有一个控制器类,但我还没有编写任何特定的方法来处理它。

我还想显示带有消息详细信息的错误特定页面。

我肯定错过了一些东西,但没有得到任何指针来找到它。请帮忙。

我需要为此明确配置 web.xml 吗?

【问题讨论】:

  • @Paul Samsotha 我是一个新手,所以对这些配置真的没有太多的了解,虽然我遵循但没有帮助。所以我删除了 web.xml 和 springboot 配置它。我可以记录它正在检测索引页面,但是在点击 url 时,它会重定向到我的自定义异常处理程序并引发 404 错误。正如我看到的一些 cmets,springboot 会自动找到这些静态页面并提供服务。我不确定,因为我正在使用带有 springboot 的 jax rs,所以我可能需要做其他事情。
  • 你有 GitHub 吗?如果你这样做,你可以发布一个链接到 repo 吗?我可以看看。
  • 您是否按照链接中的说明进行操作?你在below answer中有依赖吗?
  • 是的,所有依赖项都在那里。我看看能不能上传到github,然后分享链接。

标签: java rest spring-boot jersey jax-rs


【解决方案1】:

添加

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

到您的 pom.xml 文件中,spring boot 自动配置所有其余部分。

【讨论】:

    【解决方案2】:

    我知道这是较旧的,但为了扩展 Itsik 的答案,我发现这个 answer 通过另一个 answer 非常有助于解释这一点。

    总结一下,如果您希望能够提供 resources/static/index.html 并使用 JAX-RS/jersey 作为 api 端点,请同时包含 spring-boot-start-web 和 spring-boot-starter-jersey。在您的 JerseyConfig 中添加 @ApplicationPath("/api") 或您希望所有 jax-rs 其余端点都位于其下的任何子路径。这样你就可以两全其美了。

    【讨论】:

      猜你喜欢
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2016-03-20
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2017-02-13
      相关资源
      最近更新 更多