java - Jooby Webserver 总是抛出错误“406 Not Acceptable: text/html”
问题描述
我正在设置一个简单的Jooby Webserver。我有一个 App.java 和一个 home.html 文件。现在,我唯一想做的就是,如果你打开主页,它会显示一个 html 页面,上面写着“Hello World”。但是,我总是收到错误“org.jooby.Err: Not Acceptable(406): text/html”。
我通过 maven 使用原型创建了项目,但我也尝试使用 gradle 创建它。我在 IntellIJ IDEA 中使用 Java 8 运行程序。我已经尝试过使用不同的 HTML 文件,但我认为它没有任何问题,因为如果我将它作为原始字符串返回,它可以工作(我只是不想这样做,因为我不会能够正常使用 JavaScript 和 Image 文件)。我也尝试在一个单独的类中执行此操作,使用 get() 方法执行此操作,并且我尝试不返回 Result 而是执行 response.send(result)。
这是我的代码:
主页.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello World!
</body>
</html>
应用程序.java:
public class App extends Jooby {
{
get("/", req -> {
//Line that throws the error:
return Results.html("home").put("model", new Object());
});
}
public static void main(final String[] args) {
run(App::new, args);
}
}
我显然希望它只显示“Hello World”文本,而是显示一个带有以下堆栈跟踪的屏幕:
org.jooby.Err: Not Acceptable(406): text/html
at org.jooby.internal.AbstractRendererContext.render(AbstractRendererContext.java:280)
at org.jooby.internal.ResponseImpl.send(ResponseImpl.java:562)
at org.jooby.Response.send(Response.java:624)
at org.jooby.Route$OneArgHandler.handle(Route.java:2000)
at org.jooby.internal.RouteImpl.handle(RouteImpl.java:282)
at org.jooby.internal.RouteChain.next(RouteChain.java:262)
at org.jooby.Route$Chain.next(Route.java:2345)
at org.jooby.internal.HttpHandlerImpl.handle(HttpHandlerImpl.java:497)
at org.jooby.internal.netty.NettyHandler.channelRead0(NettyHandler.java:271)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:38)
at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:353)
at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
at java.lang.Thread.run(Thread.java:748)
解决方案
推荐阅读
- linux - “LD_LIBRARY_PATH”设置的目录是否会找到它的子目录?
- reactjs - 如何更改 React-TinyMCE 中的默认语言?
- amazon-web-services - CloudFront 将自定义标头转发到 Origin 但具有空值
- c++ - 复制构造函数如何执行?
- python-3.x - Python 中的 SimpleITK.ImageFileWriter 没有方法“SetImageIO”,但 C++ 文档说它有
- html - 如何在 R 中打印 HTML
- c# - 为什么 Jarray 添加重复的作业?
- c - 如果我们在 C 中的调用函数中不使用 return 语句会发生什么?
- c - 为什么只有在选择数组是3或7个元素时才发生分割故障?
- apache - 如何管理安装到 docker 容器中的卷的权限?