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

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

在做 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 后的代碼。如下(很很的醒目一下):
復制代碼 代碼如下:
...
}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);
}
...

解決辦法:把程序中加紅加粗的代碼改成:
復制代碼 代碼如下:
out.flush() ;
out = pageContext.pushBody(); // 關(guān)于該段程序的解釋,doc中已經(jīng)說的很清楚。

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

abstract voidclear()
Clear the contents of the buffer.


PageContext 實現(xiàn)了抽象類 JspContext ,方法:pushBody(), 保存當前的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)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 永德县| 石河子市| 北安市| 玛纳斯县| 高台县| 石棉县| 成都市| 巫溪县| 称多县| 将乐县| 永川市| 澄城县| 柯坪县| 大港区| 独山县| 长寿区| 驻马店市| 尤溪县| 瑞昌市| 武清区| 聂荣县| 正安县| 阜城县| 呼图壁县| 金山区| 榆中县| 茌平县| 桂东县| 古丈县| 曲松县| 凤翔县| 丰原市| 江源县| 通河县| 双城市| 基隆市| 水城县| 准格尔旗| 嘉峪关市| 兴安县| 大兴区|