当前位置: 代码迷 >> 综合 >> java.lang.IllegalStateException: getOutputStream() has already been called for t
  详细解决方案

java.lang.IllegalStateException: getOutputStream() has already been called for t

热度:41   发布时间:2023-12-06 22:15:38.0

下载文件时,一不小心,就会经常报下面的异常:

java.lang.IllegalStateException: getOutputStream() has already been called for t

 

解决方法:

由于jsp container在处理完成请求后会调用releasePageContet方法释放所用的PageContext object,并且同时调用getWriter方法,由于getWriter方法与在jsp页面中使用流相关的getOutputStream方法冲突,所以会造成这种异常,

解决办法是:只需要在jsp页面的最后加上两条语句: 

out.clear();
out=pageContext.pushBody();

即可(其中out,pageContext均为jsp内置对象!)

  相关解决方案