首页 > 解决方案 > Vertx 抛出“响应已被写入”IllegalStateException

问题描述

所以,我现在正在学习如何使用 vertx,并且我正在尝试在获取请求时提供一个 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);

    }
}

我的文件树如下所示:

在此处输入图像描述

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

标签: javavert.x

解决方案


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

response.end();

它现在工作正常。


推荐阅读