Hallo Leute,
ich habe eine Webanwendung geschrieben, die ein PDF erzeugt, dieses vom Server aufgreift und dem Benutzer anzeigt.
Das funktioniert soweit auch auf meinem Entwicklungsrechner und auf einer VM.
Nun habe ich das ganze auf einen (recht schwachen) Server umgezogen und fast immer bekomme ich eine java.lang.IllegalStateException beim Anzeigen des PDFs. Nur in den seltesten Fällen funktioniert es.
Die Exception:
javax.servlet.ServletException: org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet .java:637)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
Die JSP-Seite:
Hat jemand eine Idee woran das liegen könnte bzw. wie ich es lösen kann? Bei meinem Rechner oder bei der VM ist es nie zu diesem Problem gekommen und es hat immer funktioniert.
Vielen Dank schon mal!
Mephi
ich habe eine Webanwendung geschrieben, die ein PDF erzeugt, dieses vom Server aufgreift und dem Benutzer anzeigt.
Das funktioniert soweit auch auf meinem Entwicklungsrechner und auf einer VM.
Nun habe ich das ganze auf einen (recht schwachen) Server umgezogen und fast immer bekomme ich eine java.lang.IllegalStateException beim Anzeigen des PDFs. Nur in den seltesten Fällen funktioniert es.
Die Exception:
javax.servlet.ServletException: org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet .java:637)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
Die JSP-Seite:
Code:
<%@ page language="java" contentType="text/html;charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="/taglibs/struts-html.tld" prefix="html"%> <%@ page language="java" import="java.io.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <% File file = (File)request.getAttribute("pdf"); BufferedInputStream filein = new BufferedInputStream(new FileInputStream(file)); ByteArrayOutputStream byteStream = new ByteArrayOutputStream(512); int objByte; while((objByte = filein.read()) != -1) { byteStream.write(objByte); } filein.close(); response.reset(); response.setContentType("application/pdf"); response.setContentLength(byteStream.size()); out.clear(); byteStream.writeTo(response.getOutputStream()); %>
Vielen Dank schon mal!
Mephi
Comment