byte[] P_Buf;
...
response.reset(); 
response.setContentType("image/jpg"); 
OutputStream toClient = response.getOutputStream(); 
toClient.write(P_Buf); 
toClient.flush(); 
//强制清出缓冲区\r 
toClient.close(); 

解决方案 »

  1.   

    为什么要关闭流文件呢? 
    //强制清出缓冲区\r 
    toClient.close(); 关闭之后,就会报错了。
      

  2.   

    这个流,jsp服务器会自动关闭的.不用手工关闭的.
      

  3.   

    OutputStream toClient = response.getOutputStream(); 
    ...........改为 ServletOutputStream 试试
      

  4.   

    还是不行!错误是在执行完我的代码后出现的。
    StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exception
    java.lang.IllegalStateException: getOutputStream() has already been called for this response
    java.lang.IllegalStateException: getOutputStream() has already been called for this response
    at org.apache.catalina.connector.ResponseBase.getWriter(ResponseBase.java:750)
    at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:165)
    at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:166)
    at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:158)
    at org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:205)
    at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:177)
    at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:198)
    at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:193)
    at org.apache.jsp.frmGetFile$jsp._jspService(frmGetFile$jsp.java:99)
      

  5.   

    遇见过这个问题 很少写jsp
    上次白痴在jsp传个response参数给javabean就导致过这个问题,
    你去google搜索一下这个错误, 也可以看看编译之后对应的servlet文件
    ContentType还是什么的有了默认的html/text,
    http://www.jguru.com/faq/view.jsp?EID=1023555
    你写成一个servlet应该没问题