使用Vertx框架搭建web服务器
项目介绍
Vert.x非常灵活 ,无论是简单的网络实用程序,复杂的现代Web应用程序,HTTP / REST微服务,大容量事件处理还是完整的后端消息总线应用程序,Vert.x都非常适合。比如游戏后端开发、银行业务开发等等。
项目文档
- 源码:
https://github.com/vert-x3/vertx-web
- 中文文档:
http://vertxchina.github.io/vertx-translation-chinese/webclient/WebClient.html
快速入门
- 引入依赖
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-core</artifactId>
<version>4.3.6</version>
</dependency>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-web</artifactId>
<version>4.3.6</version>
</dependency>
- 新建Verticle组件,并且设置路由器。
public class HelloVerticle extends AbstractVerticle {
@Override
public void start(Promise<Void> startPromise) throws Exception {
HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
router.route().handler(BodyHandler.create());
router.get("/index")
.handler(ctx -> {
ctx.response().end("INDEX SUCCESS");
});
router.get("/hello")
.blockingHandler(ctx -> {
ctx.response().end("hello SUCCESS");
});
router.get("/test")
.blockingHandler(ctx -> {
ctx.response().end("test SUCCESS");
});
server.requestHandler(router).listen(9999);
}
}
- 启动web服务器
public class MyHttpServer {
public static void main(String[] args) {
Vertx vertx = Vertx.vertx();
vertx.deployVerticle(new HelloVerticle());
}
}