Java後台實時輸出資料到頁面

2021-09-18 03:04:00 字數 1265 閱讀 4084

當然,這個專業的有保持長鏈結,伺服器推送等實現,這裡需求較簡單,不討論。

做了個小功能,希望前台可以看到後台的實時處理進度,首先想到的就是能夠在頁面像後台列印日誌一樣的輸出,

如下**:

printwriter out = response.getwriter();while(true) catch (exception e) }
在我的想象中,response會每隔一秒就向前端輸出一條內容,前端像列印日誌一樣實時顯示。可實際情況是這些內容在請求結束後是同時被輸出到頁面的。

網上查了一下,大致是說這樣輸出沒給瀏覽器響應的機會,只有等方法結束後瀏覽器才能響應讀取到資料。貌似tomcat7之後的可以支援,行不通啊。後來發現,如果向頁面輸出js指令碼的話,瀏覽器是可以實時讀取到的,見下面**:

response.setcontenttype("text/html; charset=utf-8");  printwriter out = response.getwriter();  while(true) catch (exception e)   }

這樣做,如果輸出內容很多的話貌似會使頁面內容過多而消耗一些資源,不過後台的系統沒什麼併發,內容也不是很多,將就了。

當然,這個專業的有保持長鏈結,伺服器推送等實現,這裡需求較簡單,不討論。

做了個小功能,希望前台可以看到後台的實時處理進度,首先想到的就是能夠在頁面像後台列印日誌一樣的輸出,

如下**:

printwriter out = response.getwriter();while(true) catch (exception e) }
在我的想象中,response會每隔一秒就向前端輸出一條內容,前端像列印日誌一樣實時顯示。可實際情況是這些內容在請求結束後是同時被輸出到頁面的。

網上查了一下,大致是說這樣輸出沒給瀏覽器響應的機會,只有等方法結束後瀏覽器才能響應讀取到資料。貌似tomcat7之後的可以支援,行不通啊。後來發現,如果向頁面輸出js指令碼的話,瀏覽器是可以實時讀取到的,見下面**:

response.setcontenttype("text/html; charset=utf-8");  printwriter out = response.getwriter();  while(true) catch (exception e)   }

這樣做,如果輸出內容很多的話貌似會使頁面內容過多而消耗一些資源,不過後台的系統沒什麼併發,內容也不是很多,將就了。

Java後台實時輸出資料到頁面

當然,這個專業的有保持長鏈結,伺服器推送等實現,這裡需求較簡單,不討論。做了個小功能,希望前台可以看到後台的實時處理進度,首先想到的就是能夠在頁面像後台列印日誌一樣的輸出,如下 printwriter out response.getwriter while true catch exception...

C 後台獲取頁面資料

using system using system.collections.generic using system.text using system.web namespace pub.mo 獲取session public static string session string sessio...

Ceisum實時獲取後台資料 實時更新實體位置資訊

用定時器模擬實時獲取後台資料 當取到資料後實體同時移動到目標位置 這種方式不再與cesium時間關聯 實現效果 每秒新增乙個座標 每秒實體運動到相應正確位置 var viewer new cesium.viewer cesiumcontainer var positions var poly und...