Vert.x系列(三),加载静态资源文件

目录



正文


在web开发中,避免不了要加载css、js、图片相关的各种静态资源文件,在Vert.x中是怎么做到的呢?

在前一节中,我们知道Vert.x对前端的一切请求都是基于Router和Handler来处理的。静态资源文件也是一种请求。那么是不是在Router中创建一个静态资源的Handler就可以了!

答案当然是可以的。

请看代码:

package com.javafm.vertx;

import io.vertx.core.AbstractVerticle;
import io.vertx.core.http.HttpServer;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.handler.StaticHandler;

public class SimpleHttpServerVerticle extends AbstractVerticle {

    @Override
    public void start() throws Exception {
        HttpServer server = vertx.createHttpServer();

        Router router = Router.router(vertx);

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

        server.requestHandler(router);
        server.listen(8080);
    }

}

核心代码就是router.route().handler(StaticHandler.create())。创建好了静态资源的Hnadler怎么使用呢?

按照Vert.x的默认配置,静态资源文件需要放在classpath的webroot目录下。

为了方便演示,笔者在resources文件夹中创建一个webroot,然后在webroot目录下再创建一个base.css文件。最后目录结构如图一。

(图一)

再次启动服务,在浏览器访问这个css文件。

(图二)

本文源代码地址:https://gitee.com/dev-tang/learning-vertx/tree/learn-04/

本博客采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可

本文标题:Vert.x系列(三),加载静态资源文件

本文地址:https://dev-tang.com/post/2020/03/vert.x-03.html

推荐阅读