如何多次调用控制器以从整个系统中获取数据块-Java、Spring MVC

如何多次调用控制器以从整个系统中获取数据块-Java、Spring MVC,java,javascript,jsp,spring-mvc,Java,Javascript,Jsp,Spring Mvc,我需要在浏览器窗口上显示非常大的日志文件(2GB-5GB)的内容 如果我从controller将日志文件发送到JSP,并从JSP将内容设置为window.open,那么加载页面是一件非常痛苦的事情 或者,如果我将日志文件的全部内容设置为服务器端(控制器)中的StringBuilder,并将其发送回JSP,那么页面需要一直处于打开状态,直到所有日志都设置为StringBuilder 因此,我希望在每次调用中向JSP发送数据块 例如: 在JSP对控制器的第一次调用中,我将返回前20行 在从JSP到C

我需要在浏览器窗口上显示非常大的日志文件(2GB-5GB)的内容

如果我从controller将日志文件发送到JSP,并从JSP将内容设置为window.open,那么加载页面是一件非常痛苦的事情

或者,如果我将日志文件的全部内容设置为服务器端(控制器)中的StringBuilder,并将其发送回JSP,那么页面需要一直处于打开状态,直到所有日志都设置为StringBuilder

因此,我希望在每次调用中向JSP发送数据块

例如: 在JSP对控制器的第一次调用中,我将返回前20行 在从JSP到Controller的第二次调用中,我将返回接下来的20行

或者有没有其他最好的方法


请在这方面帮助我…

您可能想要做的是设置控制器以获取大小和起始位置

第一页是

第2页将是

然后可以使用java中的随机访问文件查找第N个位置并读取N个字符。如果有人想要另一个页面,您可以增加开始位置并通过ajax继续


(旁注:我经常使用_internal来表示受保护的url。这是我在网站上设置的,使用ACL的[访问控制列表]来保护该url,因此只有有限的人可以访问它-我假设您可能不希望公众看到您的日志文件。如果它是受保护的网站,您可能不需要担心)

您考虑ajax调用的具体原因是什么?