異常之JSP頁面跳轉出錯

今天在開發過程中發現一個問題:在頁面中使用了<jsp:forward>拋錯Attempt to clear a buffer that's already been flushed!!

百思不得其解!!

google之,得如下解釋:

慣例,先上外文論壇搜索答案

http://www.coderanch.com/t/484489/JSP/java/JSP-working

其中有一句話,解釋了這個問題的發生:

意思大致是:

當你通過forward請求另一個資源的時候,

如果你的服務器已經向client響應了數據,

是所你原來未跳轉之前的頁面已經存在數據了

(我的頁面情況是:

forward前面通過連接數據庫查詢到數

據賦&#20540;給了select下拉列表了),

所以就會報錯,而設大緩衝區的話,

服務器就不會立即響應給服務端,

而是等所有頁面加載完成之後,

或者緩衝區滿了之後纔會發送響應給用戶,

我的解決辦法,在jsp開頭加入緩衝區設置語句

<%@ page autoFlush="true" buffer="1094kb"%>
</pre><pre name="code" class="html" style="margin-top:0px; margin-bottom:0px; padding:0px; background-color:rgb(244,244,244)">

buffer大小視實際情況來定,jsp頁面默認是8kb。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章