Posted on 2010-01-14 22:13
斷點 閱讀(267)
評論(0) 編輯 收藏 所屬分類:
Tomcat
我也遇到了這個問題,所以把它貼出來,大家了解一下。
在tomcat5下jsp中出現此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗證碼,文件下載等),
沒有妥善處理好的原因。
具體的原因:
在tomcat中jsp編譯成servlet之后在函數_jspService(HttpServletRequest request, HttpServletResponse response)的最后
有一段這樣的代碼
finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}
這里是在釋放在jsp中使用的對象,會調用response.getWriter(),因為這個方法是和
response.getOutputStream()相沖突的!所以會出現以上這個異常。
在使用完輸出流以后調用以下兩行代碼即可:
out.clear();
out = pageContext.pushBody();
最后這里是一個輸出彩色驗證碼例子(這樣的例子幾乎隨處可見),以下為代碼的一部分:
ImageIO.write(image, " JPEG " ,os);
os.flush();
os.close();
os = null ;
response.flushBuffer();
out.clear();
out = pageContext.pushBody();
來源:http://chenlb.blogjava.net/archive/2007/05/26/104714.html#
posted @ 2009-02-11 15:34 斷點 閱讀(236) | 評論 (0)