【问题标题】:Undertow PrefixPath and the Welcome FileUndertow PrefixPath 和欢迎文件
【发布时间】:2020-12-01 08:06:41
【问题描述】:

有人可以告诉我为什么使用以下代码:

Undertow server = Undertow.builder()
            .addHttpListener(8080, "0.0.0.0")
            .setHandler(path().addPrefixPath("/",
                    resource(new ClassPathResourceManager(
                                HelloWorldServer.class.getClassLoader()))
                            .addWelcomeFiles("index.html")))
            .build();
 server.start(); 

然后在转到 URL 时会给你一个空白页 http://localhost:8080

但对于 URL http://localhost:8080/index.html 可以正常工作

我的印象是“/”的 PrefixPath 应该将所有默认请求重定向到您定义的欢迎文件,但事实并非如此。注意:index.html 文件嵌入在根路径下的 jar 文件中。验证它在那里并且可以从 ClassPathResourceManager 中提取它。

我还尝试定义除“/”之外的其他 PrefixPath,但默认情况下不会触发欢迎文件。我总是必须在 URL 中定义它。非常感谢对我的理解有所帮助!

【问题讨论】:

    标签: undertow


    【解决方案1】:

    事实证明我的类路径不正确。一个错误的假设是我的 jar 文件的位置已自动添加到我的类路径中,而实际上 NetBeans 仅使用特定的 jar 文件而不是位置来构建默认类路径。解决方案是将我的 html 文件的位置添加到我的 build.gradle 文件中的类路径中,一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-03
      • 1970-01-01
      • 2011-06-24
      • 2017-07-28
      • 1970-01-01
      • 2014-01-15
      • 2011-12-16
      • 2015-03-21
      相关资源
      最近更新 更多