Maybe someone out there has done this successfully, or knows the pitfalls. I would like to use a JSP response in the following manner: byte pdfBytes = report.pdfBytes(); // send the pdf bytes to the response response.setContentType("application/pdf"); response.setContentLength(pdfBytes.length); ServletOutputStream out = response.getOutputStream(); out.write(pdfBytes); out.close(); The intent here is to use a JSP in place of a Servlet to write pdf reports. I haven't tried it yet, but have a feeling there is something wrong with my approach. Thanks ahead of time !
The variable "out" is already bound (as type JspWriter).
If there are any characters (even whitespace) outside your one big <% ... %> that encloses your example, the system will try to output them, and you will get an exception re the response already being committed.
It is a bad idea, even if you could make it work. JSP is for mixing static character data with some dynamically-generated content. Preferably when the scriptlets are a very small percentage of the whole page. You only have dynamic content. Use a servlet!