【问题标题】:Setting Response Headers of HTTPServeletResponse设置 HTTPServletResponse 的响应头
【发布时间】:2013-08-09 16:15:52
【问题描述】:

所以,我正在从数据库中的值构造一个 URL。现在,我想确保响应标头是我为此 URL 指定的。我如何实现这一目标?

例如,如果我构造了一个 URL,例如 www.google.com/username=ak&password=bk,我想确保连接保持活动状态,以便在您点击该 URL 时获得响应。我如何在 JSP/Java 中做到这一点?

原因是,我试图从我的CMS 在iOS 设备上渲染视频,但这不起作用,根据我的阅读,必须设置响应标头。如何为我可能点击的 URL 设置响应标头?

以下方法是我设置响应的方式,但响应不是我创建的 url。我创建的 URL 类似于 www.uisghsfgsgsfg.com/cs/sksjdgs/appl。我对响应在此页面上下文中的含义感到困惑。

class URLConstructor extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   response.setHeader("Accept-Ranges", "bytes");
   response.setHeader("Connection", "Keep-Alive");
   ByteArrayOutputStream byteStream =
       new ByteArrayOutputStream(512);
   response.setContentLength(byteStream.size());
   response.addHeader("Connection", "Keep-Alive");
}
}

【问题讨论】:

  • 不清楚。构造 url 和 response 是不同的东西,不是吗?
  • 是的,我明白这一点。但我想知道是否有一种方法可以干预/指定在构造 URL 后将接收到的已接受响应,以便当有人点击 URL 时,我指定的值将在响应标头中使用..
  • 如果可以访问响应,可以使用addHeader方法:docs.oracle.com/javaee/7/api/javax/servlet/http/…
  • 该 URL 是在您的应用服务器上还是在外部服务器上被点击?
  • @MartinWickham 如果 URL 访问外部服务器,则不能这样做。

标签: java jakarta-ee servlets http-headers


【解决方案1】:

假设:您可以访问传输视频的服务器。

将视频传输到您的客户端(IOS 设备)的代码应在发送响应(视频内容)之前设置响应标头。如果是 Java 程序提供视频请求,您可以在 Servlet API 中设置相应的标头(参见 Martin 的链接)。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 2017-10-13
    • 2015-04-15
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多