Hallo zusammen
Ich habe mittels itext ein pdf erstellt und will es nun via Stream zurück an den Client schicken. Der Client (Applet) sollte dann das PDF im Browser anzeigen. Leider wird das PDF aber im Browser nicht angezeigt.
Meine doPost Methode vom Servlet sieht folgendermassen aus:
Aus meiner Sicht sollte das Servlet richtig sein.
Mein Clientfunktion sieht so aus:
Leider finde ich zur Zeit keine Lösung. Ich bitte um Hilfe. Danke
Ich habe mittels itext ein pdf erstellt und will es nun via Stream zurück an den Client schicken. Der Client (Applet) sollte dann das PDF im Browser anzeigen. Leider wird das PDF aber im Browser nicht angezeigt.
Meine doPost Methode vom Servlet sieht folgendermassen aus:
Java:
public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
Document document = new Document();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter.getInstance(document, baos);
document.open();
document.add(new Paragraph("BlaBla")); // -> hier wird das PDF erstellt
document.close();
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setContentType("application/pdf");
response.setContentLength(baos.size());
ServletOutputStream out = response. getOutputStream();
baos.writeTo(out); // -> Das Servlet schickt das PDF zurück
out.flush();
out.close();
}
catch (Exception e) { e.printStackTrace();}
}
Aus meiner Sicht sollte das Servlet richtig sein.
Mein Clientfunktion sieht so aus:
Java:
public Vector myCall(Vector vec)
{
try
{
URL url = new URL("http://localhost:8080/toplife/servlet/Testpaket.TestServlet");
URLConnection connection = url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
ObjectOutputStream toServer =
new ObjectOutputStream(new GZIPOutputStream(connection.getOutputStream()));
// [B]ein Vector wird ans Servlet geschickt mit Daten für das PDF[/B]
toServer.writeObject(vec);
toServer.flush();
toServer.close();
// [B]Client wartet hier auf PDF vom Servlet[/B]
BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
bis.close();
}
catch ( Exception ex )
{
// a real program would need to handle this exception
}
return vec;
}
Leider finde ich zur Zeit keine Lösung. Ich bitte um Hilfe. Danke