0

是否可以获取请求触发的进程状态。

假设,我有一个请求,它将触发长时间运行的进程,比如在服务器端复制一些文件,或者其他一些真正长时间运行的进程。现在我想向用户展示该任务的完成百分比。

如何在 Java Servlet 或任何其他支持此功能的框架中执行此操作?

我的想法是向页面发送持续的响应。但这可能是不可能的。请帮我解决这个问题。

谢谢。

4

2 回答 2

0

一种解决方案是创建另一个以 json 格式提供百分比的 servlet(您可以将其存储在会话对象中),然后使用 javascript 定期轮询来自该 servlet 的信息并直接显示它们。

这篇文章可能会帮助你:

JQuery 从 servlet 获取 JSON

于 2013-04-03T13:45:25.060 回答
0

在此处输入图像描述

您可以按照上面显示的模型。有两个 servlet,一个用于启动处理,另一个用于报告处理状态。Process Controller 类将维护进程的状态以及启动/将进程放入队列中。

  1. 调用 Start Processing servlet 启动一个进程并返回一个表示该进程的唯一 ID

  2. JS/JQuery 可用于使用上述 UID 向 Get Processing Progress servlet 发出定期请求以了解进度。

于 2013-04-03T13:55:44.420 回答