因此,我现在正在学习如何使用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);
}
}
我的文件树看起来像这样:
知道为什么会这样吗? 谢谢
答案 0 :(得分:1)
好,所以解决方法是删除
response.end();
现在工作正常。