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文件。
(图二)