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
