`
Rainbow702
  • 浏览: 1065459 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类

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

阅读更多

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

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

分享到:
评论
2 楼 Rainbow702 2012-11-21  
oiiopro 写道
不懂啊,你这边是写在jsp中还是哪里呢,java类中要怎么定义out呢,out是那个对象呀?????



引用
只需要在jsp页面的最后加上两条语句:


由于没有把当时的环境保留下来,现在也一时想不起来了,不过看上面这句话,代码应该是放在JSP中的。
1 楼 oiiopro 2012-11-21  
不懂啊,你这边是写在jsp中还是哪里呢,java类中要怎么定义out呢,out是那个对象呀?????

相关推荐

Global site tag (gtag.js) - Google Analytics