gpt4 book ai didi

java - 如何克隆 Servlet 容器提供的分离的 HttpServletRequest 和 HttpServletResponse?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:58 24 4
gpt4 key购买 nike

我想实现以下逻辑:当我在主servlet的doService方法(在主web Container线程中)收到HttpServletRequeset和HttpServletResponse时,我启动A,B,C三个线程(由我自己的程序管理的线程)以并行方式处理其他servlet,然后加入每个响应来自主线程中的这些 servlet,如果我自己的线程之一(假设一个线程)工作缓慢,主线程将完成,因此主响应将返回给用户。A 线程必须继续正常工作,稍后我会在浏览器端使用AJAX请求A线程的响应。

所以,我想克隆Servlet容器提供的HttpServlettRequest和HttpServletResponse,并且克隆的请求和响应必须分离(当容器的HttpServletTrequest和HttpServletResponse完成时,克隆的请求和响应仍然正常工作).

从我的代码来看,克隆的请求和响应的行为必须与容器的行为相同。它可以被跟踪和包含。

有什么想法吗?

非常感谢!

L.J.W

最佳答案

可以通过 HttpServletResponseWrapper 类克隆 HTTP 请求和响应 http://docs.oracle.com/javaee/1.3/api/javax/servlet/http/HttpServletResponseWrapper.html .您可以在 Sun 文档中找到用法示例 https://web.archive.org/web/20120626033905/http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets8.html .

请注意,这是(当时)Sun 解决此问题的一种变通方法,因为从未计划过您可以在提交之前修改请求和响应信息。

您可以使用包装器复制 Http 信息并将其传递给不同的线程。

关于java - 如何克隆 Servlet 容器提供的分离的 HttpServletRequest 和 HttpServletResponse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5273579/

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