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