文件小于8K时,点击下载就会出现下面信息:
exception    
 
org.apache.jasper.JasperException:  getOutputStream()  has  already  been  called  for  this  response  
           org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)  
           org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)  
           org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)  
           org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)  
           javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
 
 
root  cause    
 
java.lang.IllegalStateException:  getOutputStream()  has  already  been  called  for  this  response  
           org.apache.catalina.connector.Response.getWriter(Response.java:599)  
           org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)  
           org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:124)  
           org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:117)  
           org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:182)  
           org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:115)  
           org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)  
           org.apache.jsp.GRBG.WJZG.download_jsp._jspService(download_jsp.java:176)  
           org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)  
           javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
           org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)  
           org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)  
           org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)  
           javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  

解决方案 »

  1.   

    我刚才查了,这个问题三年前就有人问了,至今仍无人能答?楼主luckduck(菠萝蜜)2003-10-17 10:56:29 在 Java / Web 开发 提问
    使用SmartUpload组件下载文件,当文件大小<=8k时总是失败,报错:“getOutputStream()   has   already   been   called   for   this   response”,什么原因啊?而>8k就没问题。
      

  2.   

    我发现的不是这样的问题,我发现的是:tomcat重启的时候传上去的数据会丢失,不知道为什么啊,