Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使servlet逐步输出多条消息_Java_Jsp_Servlets - Fatal编程技术网

Java 如何使servlet逐步输出多条消息

Java 如何使servlet逐步输出多条消息,java,jsp,servlets,Java,Jsp,Servlets,我正在使用JSP和servlet编写一个Web应用程序。该应用程序的目标是在jsp页面中提供一个简单的表单,用于提供参数以执行java程序(在servlet中)。程序的输出应该出现在同一jsp页面的底部。很多网站都解释了如何做到这一点,但我的主要问题是,我的java程序需要几分钟才能运行,并且在完成之前会打印出很多消息。如果我只是将这些消息附加到servlet的HttpServletResponse,那么它将等待几分钟,然后立即显示所有消息。有没有一种方法可以将原始jsp页面上的消息作为java

我正在使用JSP和servlet编写一个Web应用程序。该应用程序的目标是在jsp页面中提供一个简单的表单,用于提供参数以执行java程序(在servlet中)。程序的输出应该出现在同一jsp页面的底部。很多网站都解释了如何做到这一点,但我的主要问题是,我的java程序需要几分钟才能运行,并且在完成之前会打印出很多消息。如果我只是将这些消息附加到servlet的HttpServletResponse,那么它将等待几分钟,然后立即显示所有消息。有没有一种方法可以将原始jsp页面上的消息作为java控制台逐步打印出来?

您可以使用ajax实现这一点

在ajax中,调用servlet,然后从servlet中获取必要的信息,并将其打印到ajax成功部分


可能会对您有所帮助。

使用ajax…DAT是唯一的方法。.您可以使用
jquery ajax
Post实现这一点即使您只是使用ajax调用servlet,它是否仍会在ajax响应中返回整个结果?您可能需要让servlet在单独的线程中启动程序,然后设置ajax轮询以不断检查程序的状态。对了,dave,ajax的问题仍然存在……感谢dave的评论,我改进了我的研究,我认为实现这一点的方法是使用异步servlet。无论如何,我不明白你为什么否决这个问题,对我来说,这并没有那么愚蠢。我使用了你的链接,使其适应我的框架(即,在println命令之间强制一些延迟)。但是,同样的问题仍然存在:结果只有在程序完全运行后才会显示…@splinter123什么问题?消息只在程序末尾显示,而不是在创建时显示。@splinter123消息在程序末尾显示,而不是在创建时显示,这是什么意思?您想在页面底部显示输出,对吗?请转到示例中的servlet代码。在write命令之后,添加sleep(5000),然后再添加另一个write命令。将发生的情况是,这两个文本行将在5秒后一起出现在网页上。我想要的是第一行立即可视化,第二行在5秒后可视化,就像我将它作为一个简单的java程序运行一样。