我作了个程序其中有生成CSV文件的功能。
在本地我的机器上已经实现并好用了,但是传到服务器上(liunx+tomcat)
就出现了问题。
提示如下:
  org.apache.jasper.JasperException: getOutputStream()
  说这个response已经被调用了。我的实现方法类似如下代码:
  import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public void doGet(HttpServletRequest request, HttpServletResponse response)
 throws IOException,ServletException
 {
  Document document = new Document(PageSize.A4, 36,36,36,36); 
  ByteArrayOutputStream ba = new ByteArrayOutputStream(); 
  try
  {
   PdfWriter writer = PdfWriter.getInstance(document, ba);
   document.open(); 
   document.add(new Paragraph("Hello World")); 
  }
  catch(DocumentException de) 
  {
   de.printStackTrace();
   System.err.println("A Document error:" +de.getMessage()); 
  }
  document.close();
  response.setContentType("application/pdf");
  response.setContentLength(ba.size()); 
  ServletOutputStream out = response.getOutputStream();
  ba.writeTo(out); 
  out.flush();
 }
我认为应该和线程有关系。问题应该出现在  
“ServletOutputStream out = response.getOutputStream();”
这句上。有没有人知道怎么调试?
或者有什么解决方案?

解决方案 »

  1.   

    出现如下的错误提示:Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: getOutputStream() has already been called for this response 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
      

  2.   

    シトハチシハチトシハ