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

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

在做 jsp 上傳圖片時,把 Java 代碼直接改成 jsp,上傳時產生 如下異常:
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 轉成 servlet 后的代碼。如下(很很的醒目一下):
復制代碼 代碼如下:
...
}catch(Exception e){
e.printStackTrace();
}finally{
out.flush(); //
out.close();// 此處為源始代碼
DBHelper.freeConnection(connection);
}
out.write('/r'); // 如上我已經關了 out 對象,但此處還在使用,所以便產生了如開始所描述的異常
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(); // 關于該段程序的解釋,doc中已經說的很清楚。

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

abstract voidclear()
Clear the contents of the buffer.


PageContext 實現了抽象類 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 內置對象

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

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 北川| 澳门| 邻水| 循化| 白河县| 永嘉县| 故城县| 新竹市| 舒城县| 滦南县| 太原市| 漠河县| 延长县| 万安县| 泾阳县| 额尔古纳市| 辽中县| 上栗县| 乐山市| 林周县| 吉林省| 花垣县| 合山市| 山阳县| 屏东市| 夏河县| 乾安县| 阿克苏市| 嘉善县| 即墨市| 东至县| 嘉峪关市| 科技| 安多县| 五寨县| 阿合奇县| 临安市| 湖南省| 深州市| 分宜县| 景宁|