【问题标题】:How to add external css/js files in vertx如何在 vertx 中添加外部 css/js 文件
【发布时间】:2015-10-17 04:44:22
【问题描述】:

如何在 Vertx 中添加外部 CSS/Javascript 文件? 我已经成功发送了 index.html,显示出来了。这个 index.html 有一些外部的 Javascript/CSS 文件,vertx 没有加载 index.html 中的 CSS/Javascript 文件。 代码如下。

public void start() {
    vertx.createHttpServer().requestHandler(req -> {
            req.response()
                .putHeader("content-type", "text/html")
                .sendFile("index.html");
        }).listen(8080);
}

在 index.html 中

<html>
    <head>
        <script src="someJsFile.js"></script>
    </head>
    <body>
        Hello World
    </body>
</html>

【问题讨论】:

    标签: java vert.x


    【解决方案1】:

    回到 Vert.x 2 次,有一个简单的示例如何做到这一点:

    import org.vertx.java.core.Handler;
    import org.vertx.java.core.http.HttpServerRequest;
    import org.vertx.java.platform.Verticle;
    
    public class Server extends Verticle {
      public void start() {
          vertx.createHttpServer().requestHandler(new Handler<HttpServerRequest>() {
              public void handle(HttpServerRequest req) {
                  String file = req.path().equals("/") ? "index.html" : req.path();
                  req.response().sendFile("webroot/" + file);
              }
          }).listen(8080);
      }
    }
    

    请参见此处:http://vertx.io/vertx2/(Java 选项卡)

    注意免责声明;)

    • 在真正的生产网络服务器中,您可能需要对路径进行一些检查,以确保文件不是从 webroot 外部提供的!

    【讨论】:

      【解决方案2】:

      这是顶点 3

      配置路由器以提供静态内容

      router.route().handler(StaticHandler.create());
      

      我在文件夹src/main/resources/webroot中的静态文件

      【讨论】: