我如何在 JSP 中提供即时反馈?

How would I give immediate feedback in a JSP?

我有一个 JSP 表单,它(当用户单击“提交”按钮时)实例化一个 Java class,并在其上调用一个方法。然后,此方法在完全不同的盒子上向服务器 运行 提交请求(以专有格式)。该后端服务器然后向提交用户发送一封电子邮件,并向 Java 方法发送 returns“成功”,或者 returns 一条错误消息。

一旦 Java 方法 returns 调用另一个盒子上的程序,它会将结果传递给 JSP,它要么告诉用户等待电子邮件,要么显示收到的错误消息。

问题是这需要时间才能发生。随着后端服务器的发展,变得越来越复杂(现在必须调用云服务器上的 Web 服务 运行),响应时间变得更长。

现在我们有一些用户,因为没有即时反馈,要么重新点击提交按钮,要么刷新。

有什么方法可以在 JSP 开始处理“提交”后立即向用户提供某种反馈,该反馈将在整个实例化链、方法调用之前发送、远程系统调用等等开始?

我自己找到了一些 足够好的东西: 我可以做一个“out.println()”,然后是一个“out.flush, ",这将提供即时反馈。 quick-and-dirty 测试证明了这一点。事实上我还没有意识到它表明我对 JSP 知之甚少(尽管我会注意到它从未出现在我发现的第一个 JSP 教程中,而且它不是'直到我看了其他教程才知道它的存在)。

但我欢迎更好的解决方案。

正如我一直欢迎建设性批评。