首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jooby Webserver总是抛出错误"406不可接受: text/html“

Jooby Webserver总是抛出错误"406不可接受: text/html“
EN

Stack Overflow用户
提问于 2019-02-05 03:15:49
回答 1查看 99关注 0票数 1

我正在设置一个简单的Jooby网络服务器。我有一个App.java和一个home.html文件。现在,我唯一想让它做的事情是,如果你打开主页,它会显示一个html页面,上面写着"Hello World“。但是,我总是收到错误消息"org.jooby.Err:不可接受(406):text/html“。

我通过maven用原型创建了这个项目,但我也尝试用gradle创建它。我在IntellIJ IDEA中用Java8运行这个程序。我已经尝试过使用不同的HTML文件,但我不认为它有任何问题,因为如果我将其作为原始字符串返回,它就可以工作(我只是不想这样做,因为我不能正常使用JavaScript和图像文件)。我也尝试过在一个单独的类中使用get()方法来做这件事,我试着不返回结果,而是返回response.send( Result )。

下面是我的代码:

home.html:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
    Hello World!
</body>
</html>

App.java:

代码语言:javascript
复制
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“文本,但它却向我显示了一个带有以下堆栈跟踪的屏幕:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-05 03:41:38

Results.html需要template engine。如果你只想显示一个静态页面,试试这个:

代码语言:javascript
复制
{
  assets("/", "index.html");
}

index.html文件必须位于类路径的根目录下。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54522856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档