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

来源:互联网 发布:逆战一键瞬狙最快数据 编辑:程序博客网 时间:2024/05/21 06:56

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

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内置对象!)

0 0