通过http请求将java代码中的连续文本数据发送到html

sending continuous text data from java code to html via http request

本文关键字:数据 连续文本 html 请求 http java 代码 通过      更新时间:2023-09-26

我正在开发一个应用程序,我通过angular进行http post请求,然后Java代码收到这个请求,代码完成它的工作,并生成大约50-60行的日志,每秒钟创建一行。我想在生成这些日志时在我的html页面上显示它们,现在我正在收集所有日志,并在请求完成后显示它们?这可以持续进行吗?

JAVA代码

Java代码创建50-60大小的日志数组,需要60-90秒才能完成操作,在将其转换为JSON 后,我将发送带有以下代码的数组

response.getWriter.write(应用程序日志)

JAVASCRIPT代码

var httpPostData = function (postparameters,postData){
return $http ({           
method  : 'POST',
url     : URL,
params  : postparameters,
headers: headers,
data    : postData
}).success (function (responseData){
     return responseData.data;
})
}
var addAppPromise = httpPostData (restartAppParams,app);
    addAppPromise.then(function (logs){
      $scope.logs = logs.data;
})         

HTML代码

<span ng-repeat="log in logs">{{log}}<br></span>

您至少有两个选项:

  1. (更丑但更快更容易)让你的服务立即响应(不要等到"东西"生成)并创建第二个服务这将返回到目前为止创建的日志。然后在JS中实现轮询:在短的、固定的时间间隔内调用第二个服务并更新视图
  2. 使用EventSource获取服务器发送的事件。您也可以使用websocket,但由于您只希望您的服务器提要客户端,EventSource应该足够了。但是,请记住,此API将需要用于IE/Edge的polyfill和服务器端的特殊处理