I have the following problem.
This error (one time yes, one time no ):

java.lang.IllegalStateException: getOutputStream() has already been called

is produced by this code:

______________
<html>
<head>
<link rel="stylesheet" href="" type="text/css" />
</head>
<body>

<%@ page language="java" import="java.sql.*" %>
<%@ page import="com.lowagie.text.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.awt.*" %>
<%@ page import="com.lowagie.text.pdf.*" %>
<%@ page import="com.lowagie.text.pdf.PdfWriter"%>
<%@ page import="com.lowagie.text.pdf.ColumnText"%>
<%@ page import="com.lowagie.text.pdf.PdfContentByte"%>
<%@ page import="com.lowagie.text.pdf.BaseFont"%>
<%@ page autoFlush="false"%>
<%



Class.forName("oracle.jdbc.driver.OracleDriver");

String stId        = request.getParameter("Licenza");
String stFamiglia  = request.getParameter("Famiglia");
String stMarchio   = request.getParameter("Marchio");
String stMatricola = request.getParameter("Matricola");
String stCliente   = request.getParameter("Cliente");
String stLimit     = request.getParameter("Limitazione");
String stTipLimit  = request.getParameter("TipoLimitazione");

String stSql = "SELECT DESCRITTOREPROTEZ.DOS_WIN, DESCRITTOREPROTEZ.ID_PRG, DESCRITTOREPROTEZ.STANDARD, FAMIGLIEPRG.DESCRFAMIGLIA, " +
               "PROTEZIONI.ID_PROT, PROTEZIONI.DATA, PROTEZIONI.NOTES, protezioni.PASSWORD, TIPOLIMITAZIONI.DESCRIZIONE, CLIENTI.RAG_SOCIALE, " +
               "PROT_MATR.MAT_MAC, DESCRITTOREPROTEZ.DESCRIZIONE AS DES_DES, DESCRITTOREPROTEZ.CODICE_ATTIVAZIONE " +
               "From  PROTEZIONI , FAMIGLIEPRG , DESCRITTOREPROTEZ , TIPOLIMITAZIONI , LICENZE , CLIENTI, PROT_MATR " +
               "Where DESCRITTOREPROTEZ.ID_LIMITAZIONE = PROTEZIONI.ID_LIMITAZIONE AND DESCRITTOREPROTEZ.ID_PRG = FAMIGLIEPRG.ID_PRG AND " +
               "licenze.ID_PROT = PROT_MATR.ID_PROT (+) AND DESCRITTOREPROTEZ.TIPOLIMITAZIONE = TIPOLIMITAZIONI.ID_TIPOLIMITAZIONE AND " +
               "PROTEZIONI.ID_PROT = LICENZE.ID_PROT AND LICENZE.ID_CLIENTE = CLIENTI.IDCLIENTE AND DESCRITTOREPROTEZ.CANCELLATO = 0 ";
               
String stOrderby = "ORDER BY LICENZE.ID_PROT, FAMIGLIEPRG.DESCRFAMIGLIA,DESCRITTOREPROTEZ.TIPOLIMITAZIONE";

//String stWhere = "";

        if (!stId.equals("")){
                stSql = stSql + " AND protezioni.ID_PROT = " + stId + " ";
                         }

 ...........
...........
 ............


        stSql = stSql +  stOrderby;

Connection dbconn = DriverManager.getConnection("jdbc:oracle:thin:@10.39.1.251:1521:silcadb","gescli","ges2000");

Statement statement = dbconn.createStatement();

ResultSet rs = statement.executeQuery(stSql);

int i = 0;
String stClass = "";
String stComm, stSys;

// java.awt.Color border = new java.awt.Color(0xED, 0x1C, 0x24);
 java.awt.Color border = new java.awt.Color(0, 0, 0);
 com.lowagie.text.Font font1 = new com.lowagie.text.Font(com.lowagie.text.Font.HELVETICA, 10, com.lowagie.text.Font.NORMAL, border);
 com.lowagie.text.Font font2 = new com.lowagie.text.Font(com.lowagie.text.Font.HELVETICA,  8, com.lowagie.text.Font.NORMAL, border);
 com.lowagie.text.Font font3 = new com.lowagie.text.Font(com.lowagie.text.Font.HELVETICA,  6, com.lowagie.text.Font.NORMAL, border);
 Document document = new Document(PageSize.A4.rotate(), 20, 20, 15, 15);
// document.addSubject("Test");

 java.io.ByteArrayOutputStream baos =  new java.io.ByteArrayOutputStream();

 PdfWriter writer = PdfWriter.getInstance(document, baos);
 document.open();

 //table

 Table table = new Table(10);
 int[] widths = {5, 10, 15, 25, 10, 10, 5, 3, 15, 2};
 table.setWidths(widths);
 table.setAlignment(0);
 float width = 100;
 table.setWidth(width);

 //widths = (10,10,10,90);

 table.setBorderWidth(0);
 table.setCellpadding(1);
// table.setCellspacing(10);

 //header
 Cell cell = new Cell("Codici protetti");
 cell.setHeader(true);

 cell.setColspan(10);
 table.addCell(cell);

 cell = new Cell(" ");
 cell.setColspan(10);
// cell.setBorderColor(new Color(255, 0, 0));
 table.addCell(cell);

 table.endHeaders();


 while (rs.next()){

  if (rs.getString("MAT_MAC") == null) {
     stComm = rs.getString("ID_PROT");
  }
  else {
     stComm = rs.getString("MAT_MAC");
  }

  if (rs.getString("DOS_WIN").equals("0"))
   stSys = "DOS";
  else
   stSys="WIN";

  table.addCell(new Paragraph("" + stComm + "\t", font3));
  table.addCell(new Paragraph("" + rs.getString("RAG_SOCIALE") + "\t", font3));
 ...
...
 }

 document.add(table);

 document.close();

// response.reset();
  response.setContentType("application/pdf");
  response.setContentLength(baos.size());
  ServletOutputStream myOut = response.getOutputStream();
  baos.writeTo(myOut);
  myOut.flush();

 // try to resolve
 // baos.reset();
 // baos.close();
 // myOut.close();
 // myOut = null;
 // response.flushBuffer();

dbconn.close();

%>


</body>
</html>
______________

Can you help me.

Thanks

Giorgio Bellinger

Reply via email to