jsp出現(xiàn)getOutputStream() has already been called for this response異常的原因和解決方法

tomcat5下jsp出現(xiàn)getOutputStream() has already been called for this response異常的原因和解決方法

在tomcat5下jsp中出現(xiàn)此錯(cuò)誤一般都是在jsp中使用了輸出流(如輸出圖片驗(yàn)證碼,文件下載等),沒(méi)有妥善處理好的原因。

具體的原因就是在tomcat中jsp編譯成servlet之后在函數(shù)_jspService(HttpServletRequest request, HttpServletResponse response)的最后有一段這樣的代碼

finally {
      if (_jspxFactory != null)
            _jspxFactory.releasePageContext(_jspx_page_context);
}

這里是在釋放在jsp中使用的對(duì)象,會(huì)調(diào)用response.getWriter(),因?yàn)檫@個(gè)方法是和response.getOutputStream()相沖突的!所以會(huì)出現(xiàn)以上這個(gè)異常。然后當(dāng)然是要提出解決的辦法,其實(shí)挺簡(jiǎn)單的(并不是和某些朋友說(shuō)的那樣--將jsp內(nèi)的所有空格和回車符號(hào)所有都刪除掉),在使用完輸出流以后調(diào)用以下兩行代碼即可:

out.clear();
out = pageContext.pushBody();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • https://stackoverflow.com/questions/33982515/handlerinter...
    光劍書架上的書閱讀 6,963評(píng)論 0 1
  • JSP總結(jié)(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    91數(shù)據(jù)閱讀 3,667評(píng)論 0 13
  • 一、簡(jiǎn)介 (1) web服務(wù)器收到客戶端的http請(qǐng)求,會(huì)針對(duì)每一次請(qǐng)求,分別創(chuàng)建一個(gè)用于代表請(qǐng)求的request...
    yjaal閱讀 1,749評(píng)論 2 9
  • 昨晚與幾個(gè)大學(xué)室友開視頻,期待已久的美好時(shí)光!上次我們相聚還是在宿舍老二的婚禮中,相聚匆匆,離別匆匆,都沒(méi)來(lái)得及問(wèn)...
    燦若星光閱讀 157評(píng)論 0 0
  • 慢慢地同學(xué)們都熟絡(luò)起來(lái)了。坐在我對(duì)面的女同學(xué)叫程穎,她和郭成君還有班上大部分同學(xué)以前都是一個(gè)小學(xué)或是一個(gè)初中的???..
    開心的小于閱讀 535評(píng)論 0 0

友情鏈接更多精彩內(nèi)容