【问题标题】:How to return a static file as a response in spark-java? (not redirect)如何在 spark-java 中返回静态文件作为响应? (不重定向)
【发布时间】:2018-03-23 05:12:45
【问题描述】:

我需要返回静态 html 文件的内容作为响应,例如,如果用户试图访问 localhost:4567/hello.html,我想显示另一个 html 文件而不是 hello.html,表示他没有查看此页面的权限。

现在我正在重定向到页面:

private void securityFilter(Request request, Response response) {
    if (notAuthorized) {
        response.redirect("/Error/AccessDenied.html");
    }
}

但我不想重定向用户,我想返回一个状态码为401 的响应,并以一个静态文件作为响应内容。

谢谢。

【问题讨论】:

  • 请参考以下链接中的答案stackoverflow.com/questions/34197544/…
  • @NareshBatthula 这个答案不是我需要的。我知道如何重定向到静态文件,但我需要将其内容作为响应发送。

标签: java spark-java


【解决方案1】:

但我不想重定向用户,我想返回一个状态码为 401 的响应,并以一个静态文件作为响应内容。

然后你需要将 HTML 文件读取为 String 并将其设置为响应正文。

private void securityFilter(Request request, Response response) {
    if (notAuthorized) {
        response.body(/* read HTML file as string */);
    }
}

【讨论】:

  • 因为它可能有效,我正在寻找使用 Spark 的 StaticFilesConfiguration 或其他类似的解决方案。例如,Express.JS 使用response.sendFile()
  • 这不是 Spark 中的选项(仅使用重定向)。
猜你喜欢
  • 2013-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-18
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 2013-11-14
相关资源
最近更新 更多