谁能告诉我为什么要用下面的代码:
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中定义它。非常感谢对我的理解有所帮助!
发布于 2020-08-14 04:59:53
事实证明,我的类路径不正确。错误的假设是,我的jar文件的位置被自动添加到我的类路径中,而实际上NetBeans只使用特定的jar文件而不是位置来构建默认的类路径。解决方案是将html文件的位置添加到build.gradle文件的类路径中,一切都很顺利。
https://stackoverflow.com/questions/63361881
复制相似问题