色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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

在做 jsp 上傳圖片時(shí),把 Java 代碼直接改成 jsp,上傳時(shí)產(chǎn)生 如下異常:
2012-12-31 8:59:21 org.apache.catalina.core.StandardWrapperValve invoke
嚴(yán)重: 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ū)別,因?yàn)樾枨蟛煌绦蚴遣煌模?
abstract voidflush()
Flush the stream.

abstract voidclear()
Clear the contents of the buffer.


PageContext 實(shí)現(xiàn)了抽象類 JspContext ,方法:pushBody(), 保存當(dāng)前的out對象
BodyContentpushBody()
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)置對象

jsp技術(shù)JSP上傳圖片產(chǎn)生 java.io.IOException: Stream closed異常解決方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 曲周县| 邢台市| 文安县| 辽阳县| 全椒县| 山阴县| 工布江达县| 武川县| 长春市| 陈巴尔虎旗| 黎城县| 登封市| 兴化市| 崇文区| 宁强县| 揭阳市| 兰溪市| 达州市| 宁阳县| 天长市| 五台县| 盐边县| 洛隆县| 象州县| 沁阳市| 枣强县| 太谷县| 容城县| 黄梅县| 蒙阴县| 长宁区| 舒兰市| 云南省| 饶阳县| 东源县| 石狮市| 象州县| 德钦县| 抚远县| 醴陵市| 宣化县|