时间:2021-05-26
在做 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.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在jsp页面上导入.xls文件,报错:java.io.IOException:Postedcontenttypeisn'tmultipart/form-data
1.FileUploadServlet.java文件,实现上传处理importjava.io.File;importjava.io.IOException;im
下面介绍jsp如何获取客户端的mac地址。importjava.io.IOException;importjava.io.InputStreamReader
java服务端单线程示例importjava.io.IOException;importjava.io.InputStream;importjava.io.Ou
本文实例讲述了jsp实现Servlet文件下载的方法。分享给大家供大家参考。具体如下:packagecom;importjava.io.IOException;