在JSP文件中直接使用其内置对象out就可以了.不用画蛇添足的再获得( out = response.getOutputStream(); )!!!

解决方案 »

  1.   

    你干吗多此一举呢???
    用out不就行了吗!!
      

  2.   

    to:yaray
    什么意思啊???
    notice!!!
      

  3.   

    to yaray可我在生成图片时用了
     while((nread = is.read(buffer)) != -1) {
          op.write(buffer, 0, nread);
          total += nread;
        }out对象是不能直接调用out.write的啊,
      

  4.   

    out跟response都是JSP的一个属性
    直接out就可以了
      

  5.   

    out继承的是java.io.Writer类,
    而op = response.getOutputStream()得到的是java.io.OutputStream()类,op.write(byte,int,byte)是可以的
    out.write(byte,int,byte)是不可以的,我现在需要一个字节一个字节的把图片显示出来,
      

  6.   

    OutputStream ops = response.getOutputStream();
    ops.write(buf);
    ops.flush();就可以了
      

  7.   

    我用的服务器是SunOne application server7.0,这个程序在weblogic上运行好像也没什么问题,不知道为什么在Sun app Server上,总是报这个错误。
      

  8.   

    难道没有人能解决吗?代码我试过了,在weblogic7.0上一点问题都没有,但拿到sun app server上就报错,
    能解决的再给一百分!
      

  9.   

    注意“has already been called ”,你自己获得的OutputStream 和jsp内置的out对象是冲突的,不能同时在一个jsp里面调用,所以在你的那个jsp里面不能出现任何调用out的可能性(无论是隐性的还是显性的),尤其难处理的是系统自身的调用,因为jsp本身是编译成servlet来执行的,即便你的jsp里无一处调用out,在它对应的servlet中也可能调用了,具体在什么情况下会调用我没有深究,似乎记得是那个页面什么也别显示,一上来就调用你自己的输出流,应该就会OK,Exception的原因基本上就是这样,如何解决我不是很确定不过知道原因离解决就不远了,你再摸索摸索吧,应该可以给我50分吧,哈哈hoho