前言
接上一篇《Vert.x 4 Web应用初识》,在web应用中除了访问地址得到动态的信息还有静态的资源库访问,如 jQuery / bootstrap 等前端静态资源。
本文主要讲解在Vert.x4中如何将静态资源暴露出去直接访问不走路由(与spring boot项目静态资源映射相似逻辑)
首先准备用于测试的静态资源和创建静态资源的目录
jquery.min.js 文件内容为jQuery 3.6.0 官方代码。
index.html 文件源码为:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>静态资源测试</title>
</head>
<body>
<h1>静态资源测试</h1>
<script src="/static/lib/jquery.min.js"></script>
<script>
$(function (){
alert('Jquery 加载成功');
})
</script>
</body>
</html>
测试的静态资源准备完毕后,进入Java代码配置暴露静态资源
如上图所示,在MainVerticle中添加了一行配置用于暴露静态资源。下面通过访问地址:http://localhost:8080/static/html/index.html
同时静态资源也能绑定其他系统路径,参考:
[user]
router.route("/assets/*").handler(StaticHandler.create("assets"));
router.route("/assets/*").handler(StaticHandler.create(FileSystemAccess.ROOT,"D:\\workplace\\idea\\vertx-demo\\src\\main\\resources\\assets\\"));
从源码可以看到,默认是相对路径,如果要读取其他位置也可能指定类型为绝对路径,然后设定好即可。
注意:同时绑定了相对和绝对,如果出现相同的映射路径资源,则绝对的优先级高于相对的,例如 访问 :http://127.0.0.1:8888/assets/vertx.png
- 相对路径 assets/vertx.png
- 绝对路径d:/tmp/assets/vert.png
同时存在,返回的是绝对路径的文件。
[/user]
http://blog.xqlee.com/article/2408121558305406.html