gpt4 book ai didi

Java servlet,在排队之前收到每个请求后的响应

转载 作者:行者123 更新时间:2023-11-29 00:01:19 24 4
gpt4 key购买 nike

我正在使用 Apache tomcat 使用 Java servlet。

我已经配置了一个线程池并正在处理每个请求。我的页面同时接受许多 GET 请求,我想知道在任何逻辑发生之前,我是否可以在每个 GET 请求之后响应服务器?

所以服务器给了我一个请求 -> 在我开始排队之前,我用“好的发送另一个”或“不好的发送另一个”来响应。

如有任何帮助,我们将不胜感激!

编辑

对不起,写得太糟糕了:(

我要的是一种向客户端发送 header 的方法(在这种情况下,它是一个向我发送大量请求的服务器)。根据我收到的信息,响应仅为 200 或错误。

我的程序在做什么:我的 servlet 从一个客户端收到大量 GET 请求。 (超过 100,000)我正在使用 tomcat 排队并放入线程池。然后将其分配给一个工作线程,该工作线程对其进行处理并将其放入数据库中。

我被告知要做的是向该服务器发送一个请求,说“确定收到了”。我想我可以使用 header 响应,但我没有该客户的 URL(并且客户可以针对不同的 Activity 进行更改)。所以想知道发送该响应的最佳方式是什么。

在做了更多研究之后,我认为我正在寻找的是 ServletOutputStream。

response.setContentType("text/html");
ServletOutputStream output = response.getOutputStream();

output.flush();
output.close();

使用 servlet 输出流,我在哪里设置 <head><body>标签?并在之后插入 header 响应。

最佳答案

简单的回答是“当然”。

如果这些是从网页获取网页的请求,请包含一个刷新计时器并发回一些可用于识别首次请求和我请求较早请求之间差异的 token -你完成了请求。在这种情况下,可以通过元刷新标记设置刷新计时器。

如果获取请求是 REST API 的一部分,那么您可以在协议(protocol)中定义“得到它并且我正在工作”。例如,返回 202 表示“得到它但未完成”,返回 200 表示“完成”。与 html 页面一样,考虑将一些 token 与标识待处理请求的 202 一起发回。

关于Java servlet,在排队之前收到每个请求后的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34312868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com