Estou tentando mostrar o pdf para o usuário assim que ele visitar a página e estou tomando o seguinte erro:
java.lang.IllegalStateException: Servlet response already use Writer, OutputStream not possible
FacesContext fc = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext) fc.getExternalContext().getContext();
String jasperReport = servletContext.getRealPath("/relatorios") + "/";
jasperReport += "produtosMensais.jasper";
HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
Map parametros = new HashMap();
JasperPrint report = null;
try {
report = JasperFillManager.fillReport(jasperReport, parametros, Coneccao.getConnection());
byte pdf[] = JasperExportManager.exportReportToPdf(report);
//
response.setContentType("application/pdf");
response.setContentLength(pdf.length);
response.setHeader("Content-disposition", "inline");
response.setHeader("Cache-Control", "cache, must-revalidate");
response.setHeader("Pragma", "public");
ServletOutputStream out = response.getOutputStream();
out.write(pdf);
StateManager stateManager = (StateManager) fc.getApplication().getStateManager();
stateManager.saveSerializedView(fc);
fc.responseComplete();
} catch (JRException e) {
Logging.Excecao(e, "gestao.paginas.RelatorioClienteResultado.getLoad");
e.printStackTrace();
}
qualquer ajuda é bem vinda

