Vertx抛出“响应已被写入” IllegalStateException

时间:2019-02-25 04:58:26

标签: java vert.x

因此,我现在正在学习如何使用vertx,并且我正在尝试在get请求中提供html文件。当我实际在本地主机上执行请求时,该请求会处理文件,但是在控制台中会出现错误:

IllegalStateException:响应已被写入

这是我的代码:

package com.techprimers.vertx;

import io.vertx.core.Vertx;
import io.vertx.core.http.HttpServer;
import io.vertx.core.http.HttpServerResponse;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.Route;

class App {
    public static void main(String[] args) {

        Vertx vertx = Vertx.vertx();

        HttpServer httpServer = vertx.createHttpServer();

        Router router = Router.router(vertx);

        Route indexRoute = router
                .get("/")
                .handler(routingContext -> {
                    HttpServerResponse response = routingContext.response();
                    response.setChunked(true);
                    response.sendFile("frontEnd/index.html");
                    response.end();
                });
  httpServer
                .requestHandler(router::accept)
                .listen(8000);

    }
}

我的文件树看起来像这样:

enter image description here

知道为什么会这样吗? 谢谢

1 个答案:

答案 0 :(得分:1)

好,所以解决方法是删除

response.end();

现在工作正常。