我如何在 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 教程中,而且它不是'直到我看了其他教程才知道它的存在)。
但我欢迎更好的解决方案。
正如我一直欢迎建设性批评。
我有一个 JSP 表单,它(当用户单击“提交”按钮时)实例化一个 Java class,并在其上调用一个方法。然后,此方法在完全不同的盒子上向服务器 运行 提交请求(以专有格式)。该后端服务器然后向提交用户发送一封电子邮件,并向 Java 方法发送 returns“成功”,或者 returns 一条错误消息。
一旦 Java 方法 returns 调用另一个盒子上的程序,它会将结果传递给 JSP,它要么告诉用户等待电子邮件,要么显示收到的错误消息。
问题是这需要时间才能发生。随着后端服务器的发展,变得越来越复杂(现在必须调用云服务器上的 Web 服务 运行),响应时间变得更长。
现在我们有一些用户,因为没有即时反馈,要么重新点击提交按钮,要么刷新。
有什么方法可以在 JSP 开始处理“提交”后立即向用户提供某种反馈,该反馈将在整个实例化链、方法调用之前发送、远程系统调用等等开始?
我自己找到了一些 足够好的东西: 我可以做一个“out.println()”,然后是一个“out.flush, ",这将提供即时反馈。 quick-and-dirty 测试证明了这一点。事实上我还没有意识到它表明我对 JSP 知之甚少(尽管我会注意到它从未出现在我发现的第一个 JSP 教程中,而且它不是'直到我看了其他教程才知道它的存在)。
但我欢迎更好的解决方案。
正如我一直欢迎建设性批评。