因此,我现在正在学习如何使用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);

    }
}


我的文件树如下所示:

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

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

最佳答案

好的,所以解决方案是删除

response.end();


现在工作正常。

07-27 18:27