相关疑难解决方法(0)

已经为此响应调用了getOutputStream()

我谷歌的错误信息getOutputStream() has already been called for this response ,许多人说这是因为空格或换行符后<%%>,但在我的代码中,没有空格或换行符.我在linux上使用tomcat6.

<%@
    page import="java.servlet.*,
    javax.servlet.http.*,
    java.io.*,
    java.util.*,
    com.lowagie.text.pdf.*,
    com.lowagie.text.*"
    %><%
    response.setContentType("application/pdf");
    Document document = new Document();
    try{
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        PdfWriter.getInstance(document, buffer);
        document.open();
        PdfPTable table = new PdfPTable(2);
        table.addCell("1");
        table.addCell("2");
        table.addCell("3");
        table.addCell("4");
        table.addCell("5");
        table.addCell("6");
        document.add(table);
        document.close();
        DataOutput dataOutput = new DataOutputStream(response.getOutputStream());
        byte[] bytes = buffer.toByteArray();
        response.setContentLength(bytes.length);
        for(int i = 0; i < bytes.length; i++)
        {
        dataOutput.writeByte(bytes[i]);
        }
    }catch(DocumentException e){
        e.printStackTrace();
    }

%>
Run Code Online (Sandbox Code Playgroud)

org.apache.jasper.JasperException: java.lang.IllegalStateException: …
Run Code Online (Sandbox Code Playgroud)

java jsp tomcat

56
推荐指数
4
解决办法
19万
查看次数

标签 统计

java ×1

jsp ×1

tomcat ×1