亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JSP上傳圖片產(chǎn)生 java.io.IOException: Stream closed異常解決方法

 更新時間:2012年12月31日 15:53:20   作者:  
在做jsp上傳圖片時,把java代碼直接改成 jsp,上傳時產(chǎn)生異常,很是疑惑,于是搜索整理了一下解決方法,需要了解的朋友可以參考下
在做 jsp 上傳圖片時,把 java 代碼直接改成 jsp,上傳時產(chǎn)生 如下異常:
2012-12-31 8:59:21 org.apache.catalina.core.StandardWrapperValve invoke
嚴重: Servlet.service() for servlet jsp threw exception
java.io.IOException: Stream closed
...
百思不得其解,翻出 jsp 轉(zhuǎn)成 servlet 后的代碼。如下(很很的醒目一下):
復(fù)制代碼 代碼如下:

...
}catch(Exception e){
e.printStackTrace();
}finally{
out.flush(); //
out.close();// 此處為源始代碼
DBHelper.freeConnection(connection);
}
out.write('\r'); // 如上我已經(jīng)關(guān)了 out 對象,但此處還在使用,所以便產(chǎn)生了如開始所描述的異常
out.write('\n');
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
try { out.clearBuffer(); } catch (java.io.IOException e) {}
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
_jspxFactory.releasePageContext(_jspx_page_context);
}
...

解決辦法:把程序中加紅加粗的代碼改成:
復(fù)制代碼 代碼如下:

out.flush() ;
out = pageContext.pushBody(); // 關(guān)于該段程序的解釋,doc中已經(jīng)說的很清楚。

如下:(要特別注意一下flush()和clear()方法的區(qū)別,因為需求不同程序是不同的)
abstract void flush()
Flush the stream.

abstract void clear()
Clear the contents of the buffer.


PageContext 實現(xiàn)了抽象類 JspContext ,方法:pushBody(), 保存當(dāng)前的out對象
BodyContent pushBody()
Return a new BodyContent object, save the current "out" JspWriter, and update the value of the "out" attribute in the page scope attribute namespace of the PageContext.

public abstract class BodyContent
extends JspWriter

out 內(nèi)置對象

相關(guān)文章

最新評論