有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Undertow服务AngularJS

我想使用Undertow作为一个简单的web服务器来服务AngularJS应用程序。AngularJS应用程序所需的rest服务由Apache Camel提供,因此我只需要使用Undertow为Angular应用程序提供服务

我已经阅读了文档,但无法使其工作,对我做错了什么有什么看法

下面是我现在用来启动Underow服务器的代码

Undertow server = Undertow.builder()
            .addHttpListener(8080, "localhost")
            .setHandler(resource(new FileResourceManager(new File("../dist"),10))
                    .addWelcomeFiles("../dist/index.html")
                    .setDirectoryListingEnabled(true))
            .build();
    server.start();

共 (2) 个答案

  1. # 1 楼答案

    您还可以使用ClassPathResourceManager

    ResourceManager rm = new ClassPathResourceManager(getClass().getClassLoader(), "dist");
    ResourceHandler handler = new ResourceHandler(rm);
    
  2. # 2 楼答案

    File("../dist")是个问题。使用绝对路径或至少一个不带“.”的路径,那么它应该会起作用

    (Undertow包含一个健全性检查,将资源的计算文件路径与其标准路径进行比较,标准路径在“.”上断开和“。”