在tomcat5下jsp中出現此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗證碼,文件下載等),
沒有妥善處理好的原因。
具體的原因就是
在tomcat中jsp編譯成servlet之后在函數_jspService(HttpServletRequest request, HttpServletResponseresponse)的最后
有一段這樣的代碼
finally {
????? if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
??? }
這里是在釋放在jsp中使用的對象,會調用response.getWriter(),因為這個方法是和
response.getOutputStream()相沖突的!所以會出現以上這個異常。
然后當然是要提出解決的辦法,其實挺簡單的(并不是和某些朋友說的那樣--
將jsp內的所有空格和回車符號所有都刪除掉),
在使用完輸出流以后調用以下兩行代碼即可:
out.clear();
out = pageContext.pushBody();