現象:
1,內容區顯示空白或部分頁面;
2,“查看源文件”,里面代碼不完整;
解決方式:
1,在jsp第一行添加 "<%@ page buffer="108kb" autoFlush="true" %>",如果還是不行,增加108kb這個數值,一直到頁面出現jsp拋錯的堆棧信息。
2,根據堆棧信息解決此問題。
原因以及本質:
服務端的輸出緩沖區
缺省情況下:服務端要輸出到客戶端的內容,不直接寫到客戶端,而是先寫到一個輸出緩沖區中.只有在下面三中情況下,才會把該緩沖區的內容輸出到客戶端上:


1)該jsp網頁已完成信息的輸出

2)輸出緩沖區已滿

3)jsp中調用了out.flush()或response.flushbuffer()

輸出緩沖區的大小可以用: 或response.setbuffersize()設置,如下:

1)設置輸出緩沖區的大小為1kb。 或response.setbuffersize(1);

2)設置輸出緩沖區的大小為0,即不緩沖。 或response.setbuffersize(0);

用response.getbuffersize()或out.getbuffersize()可取的輸出緩沖區的大小,單位為字節. 用response.iscommitted()可檢查看服務端是否已將數據輸出到客戶端. 如果返回值是true則已將數據輸出到客戶端,是false則還沒有.
1,jsp代碼有bug[或者缺少相關配置文件,相關依賴類];
2,當頁面buffer用得差不多的時候,這時候如果有運行時異常,tomcat處理不了時就會將運行時異常信息輸出到jsp頁面的buffer區,導致有部分內容還停留在buffer,而此時頁面在還未完成網頁輸出,緩沖區未滿,也未調用flush的情況下不會繼續處理后面的網頁信息輸出,tomcat將此時已經處理的部分代碼返回給瀏覽器去解析,由于內容不完整,導致了出現 空頁面或部分頁面。
3,可以調用 <%=out.getRemaining() %> 方法查看jsp的buffer剩余量。
1,內容區顯示空白或部分頁面;
2,“查看源文件”,里面代碼不完整;
解決方式:
1,在jsp第一行添加 "<%@ page buffer="108kb" autoFlush="true" %>",如果還是不行,增加108kb這個數值,一直到頁面出現jsp拋錯的堆棧信息。
2,根據堆棧信息解決此問題。
原因以及本質:


















1,jsp代碼有bug[或者缺少相關配置文件,相關依賴類];
2,當頁面buffer用得差不多的時候,這時候如果有運行時異常,tomcat處理不了時就會將運行時異常信息輸出到jsp頁面的buffer區,導致有部分內容還停留在buffer,而此時頁面在還未完成網頁輸出,緩沖區未滿,也未調用flush的情況下不會繼續處理后面的網頁信息輸出,tomcat將此時已經處理的部分代碼返回給瀏覽器去解析,由于內容不完整,導致了出現 空頁面或部分頁面。
3,可以調用 <%=out.getRemaining() %> 方法查看jsp的buffer剩余量。