Gerando Stream PDF com Servlets

Pessoal,

tô tendo dificuldade em pegar um Stream de um arquivo Jasper
e gerar o pdf no browser.

Fiz o código:

ServletOutputStream servletOutputStram = response.getOutputStream();
		InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream
("./formulario.jasper");
		//ObjectInputStream reportStream = new ObjectInputStream(this.getClass().getResourceAsStream
("formulario.jasper"));
		System.out.println("Vou comecar!!!");
		try {
			JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(vos);
			JasperRunManager.runReportToPdfStream(reportStream, servletOutputStram, data, ds);
			response.setContentType("application/pdf");
			servletOutputStram.flush();
			servletOutputStram.close();
			System.out.println("Conseguir realizar operação!");
		} catch (JRException e) {
			StringWriter writer = new StringWriter();
			PrintWriter out = new PrintWriter(writer);
			e.printStackTrace(out);
			
			response.setContentType("text/plain");
			
			response.getOutputStream().print(writer.toString());
			
			e.printStackTrace();
		}

Só que tá dando nullpointer na hora de pegar o arquivo Jasper…
Alguém pode dar um help? Eu coloquei o arquivo jasper em várias pastas
com receio de estar procurando o arquivo em local errado mas
o inputstream continua nulo.

Valeu!

tente :

...
response.setContentType("application/pdf");
JasperRunManager.runReportToPdfStream(reportStream, 
                                      response.getOutputStream(), data, ds);
..

Eu sei…
mas o problema tá sendo na hora de pegar o arquivo jasper como
stream…

Tenta colocar o caminho completo

/seu/pacote/formulario.jasper

Até mais!

Ops, faltou coisa :smiley:

Tenta assim

/WEB-INF/classes/seu/pacote/formulario.jasper

Até mais!

tente:

InputStream reportStream = getServletConfig().getServletContext() .getResourceAsStream ("classpath:/seu/pacote/formulario.jasper");