程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> tomcat5下jsp出現異常的原因和解決方法

tomcat5下jsp出現異常的原因和解決方法

編輯:關於JSP

烈火建站學院(Bkjia.Com)編程文檔 tomcat5下jsp出現getOutputStream() has already been called for this response異常的原因和解決方法

在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()相沖突的!所以會出現以上這個異常。然後當然是要提出解決的辦法,其實挺簡單的(並不是和某些朋友說的那樣-將jsp內的所有空格和回車符號所有都刪除掉),在使用完輸出流以後調用以下兩行代碼即可:

以下為引用的內容:

out.clear();

out = pageContext.pushBody();

  • 共2頁:
  • 上一頁
  • 1
  • 2
  • 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved