gpt4 book ai didi

java - Java 1.5 中可以使用异步 servlet 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:40 25 4
gpt4 key购买 nike

我有一个 servlet,它对网络共享执行大量文件 IO,因此运行时间较长。我想在前端实现一个进度条,而不是一个简单的旋转 gif,这样用户就知道确实发生了一些事情,而不仅仅是“卡住”。

我正在 Websphere 6.1 上运行 Java 1.5,并且看不到升级。我知道 Servlet 3.0 规范中内置了异步 Servlet 支持,但我想知道是否有解决方法或类似的方法可以让我假装它看起来是异步的?

我使用 jQuery 进行简单的 ajax 调用:

$.ajax({
url: "/servlet.action",
success: function(json, status, xhr) {
alert("success");
}
});

Servlet 是否可以在处理过程中定期将状态更新发送回客户端,或者客户端是否应该向 Servlet(或有权访问主 Servlet 状态的另一个 Servlet)发出定期状态请求?

我目前无法升级 Java 和/或 Websphere 的版本。

最佳答案

我找到了解决此问题的方法:

  1. 发送异步请求以启动该流程。该 servlet 使用处理状态更新静态对象。 (比如某种 session /请求标识符→进程状态的映射)
  2. 定期向另一个可以访问该静态对象的 servlet 发送另一个异步请求并返回当前状态。状态可以是数字(完成百分比)、字符串(状态消息)或包含一堆信息的对象。
  3. 然后定期请求可以处理状态并更新进度条或其他内容。

这可以在具有任何 Java 版本的任何类型的 servlet 容器中完成。

关于java - Java 1.5 中可以使用异步 servlet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31431909/

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