当前位置:  编程技术>java/j2ee

JSP上传图片产生 java.io.IOException: Stream closed异常解决方法

    来源: 互联网  发布时间:2014-10-18

    本文导语:  在做 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 转...

在做 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 void flush()
Flush the stream.

abstract void clear()
Clear the contents of the buffer.
PageContext 实现了抽象类 JspContext ,方法:pushBody(), 保存当前的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 内置对象

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问JSP里面怎样实现上传WORD和EXCEL文件,上传之后如何在IE里面调用显示!!!
  • 需要JSP上传程序
  • 有关jsp上传服务器的问题,请教各位高手(一定给分!!!!!!!!)
  • JSP怎么上传文档到服务器以及如何删除?
  • 关于Jsp文件上传的问题
  • 用jsp做的网站怎么解决用户个人相片上传的问题?
  • 请问封装好的jsp上传组件有哪些?在哪里下载?jspsmartupload除外
  • 请教:怎么用JSP把图片上传到服务器SQL Server数据库?
  • 在JSP中实现文件上传的问题。
  • JSP文件做好后如何上传?
  • 求救,JSP中文件的上传、下载问题
  • 如何用jsp实现文件上传?
  • jsp文件上传下载的组件smartupload如何用,哪有给50分??
  • 讨教:用jsp在linux下怎么做文件上传?
  • jsp文件上传smartupload到oracle数据库中没有longblob的数据类型如何处理的?
  • JSp的mySmartUpload组件上传文件后能不能取到客户机的地址?多谢 急
  • jsp种怎样获得上传文件的文件名?
  • 90分请教!为什么我写的JSP在本地测试正常,上传以后就不能用(提示资源不允许)
  • 请问那位高手能帮我解决在jsp中将本地文件上传到数据库服务器的一个字段中的问题
  • 老板催得急啊,各位好心人,帮帮忙吧如何在jsp中把word文档上传到oracle数据库
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3