Pegar imagem jsp

Boa tarde galera td bem…

Estou com uma dúvida como pego uma imagem na jsp resultante do seguinte metódo que retorna um ByteArrayOutputStream

public ByteArrayOutputStream gerarRelatorio(ListaPaginavel listaContrato,ContratoCombinacaoBusca combinacaoBusca){

	Document documento = new Document(PageSize.A4, 20, 20, 20, 20);
	ByteArrayOutputStream pdfStream = new ByteArrayOutputStream();
	@SuppressWarnings("unused")
	PdfWriter writer = null;
	
	DefaultPieDataset dataSetTorta = new DefaultPieDataset();
	
	JFreeChart graficoFudidoTorta = ChartFactory.createPieChart("Gráfico do Relatório", dataSetTorta, true, true, false);

	List<JFreeChart> graficos = new ArrayList<JFreeChart>();

	//	graficos.add(graficoFudidoBarras);
		graficos.add(graficoFudidoTorta);
		
		PiePlot plot = (PiePlot) graficoFudidoTorta.getPlot();
		plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} ({2})"));

	
	try {
		
		String espaco = "      ";
		String quebra = "\n";
		
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy",new Locale("pt","BR"));
		
		writer = PdfWriter.getInstance(documento, pdfStream);

		documento.addTitle("Crea-RJ - Sistema Corporativo - Módulo Fiscalização");
		documento.addSubject("Crea-RJ - Sistema Corporativo - Módulo Fiscalização");
		documento.addAuthor("Crea-RJ - Sistema Corporativo - Módulo Fiscalização");

		documento.open();

		Font fonte = new Font(Font.HELVETICA, 8);
		Font fonteTitulo = new Font(Font.HELVETICA, 10);

		Phrase linhas = new Phrase("\n----------------------------------------------------------------------------------------------------------------------------------------------\n", fonteTitulo);
		
		Phrase cabecalho = new Phrase("Crea RJ\n Dados do relatório : " + "\n",fonteTitulo);
		
		documento.add(linhas);
		
		documento.add(cabecalho);
		
		documento.add(linhas);
		
		documento.add(new Phrase("Data: " + sdf.format(new Date()) + quebra + quebra,fonte));
		
		long quantidadeTotalArt = 0;
		long quantidadeTotalOficios = 0;
		BigDecimal valorTotalArts = new BigDecimal(0);
		
		for(Contrato contrato:listaContrato){	

			long qtdOficio = 0;
			if(contrato.getOficio() != null){
				qtdOficio = 1;
				quantidadeTotalOficios += qtdOficio;
			}
			
			long qtdArt = 0;
			BigDecimal valorArt = new BigDecimal(0);
			if(contrato.getContratoART() != null){
				qtdArt = 1;
				quantidadeTotalArt += qtdArt;
				valorArt = contrato.getContratoART().getValorContrato();
				valorTotalArts = valorTotalArts.add(valorArt);
			}
			
			
			if(combinacaoBusca.getTipoRelatorio().equals("2")){

				documento.add(new Phrase(quebra + "Nome do contratante: " + contrato.getInteressadoContratante().getNomeRazaoSocial(),fonte));

				documento.add(new Phrase(espaco + "Quantidade de Ofício: " + qtdOficio,fonte));

				documento.add(new Phrase(espaco + "Quantidade de Art: " + qtdArt,fonte));

				documento.add(new Phrase(espaco + "Total dos Valores das Arts: " + valorTotalArts,fonte));

				documento.add(new Phrase(espaco + "Quantidade de Multas: 1",fonte));

				documento.add(new Phrase(espaco + "Total dos Valores das Multas: 1",fonte));

			}

		if(combinacaoBusca.getTipoRelatorio().equals("1")){
			
			documento.add(new Phrase(quebra + "Quantidade de Ofício: " + qtdOficio,fonte));
			
			documento.add(new Phrase(espaco + "Quantidade de Art: "  + qtdArt,fonte));
			
			documento.add(new Phrase(espaco + "Total dos Valores das Arts: "+ valorTotalArts,fonte));
			
			documento.add(new Phrase(espaco + "Quantidade de Multas: 1",fonte));
			
			documento.add(new Phrase(espaco + "Total dos Valores das Multas: 1",fonte));
			
		}
	}	
		
		dataSetTorta.setValue("Art" , quantidadeTotalArt);
		dataSetTorta.setValue("Notificação",quantidadeTotalOficios);
		
		int largura = 500;
		int tamanho = 550;

		PdfContentByte dc = writer.getDirectContent();

		PdfTemplate tp = dc.createTemplate(tamanho, largura);

		Graphics2D g2 = tp.createGraphics(tamanho, largura, new DefaultFontMapper());
		Rectangle2D r2D = new Rectangle2D.Double(0,0, tamanho,largura);


	//	graficoFudidoBarras.draw(g2,r2D,null);
		g2.dispose();

		dc.addTemplate(tp, 20, writer.getVerticalPosition(true)- 500);
		
//		documento.newPage();
		tp = null;
		tp = dc.createTemplate(tamanho, largura);

		g2 = tp.createGraphics(tamanho, largura, new DefaultFontMapper());
		r2D = new Rectangle2D.Double(0,0, tamanho,largura);

		graficoFudidoTorta.draw(g2,r2D,null);
		g2.dispose();

//		documento.newPage();


		dc.addTemplate(tp, 20, writer.getVerticalPosition(true)- 500);
		
		documento.close();
		
		return pdfStream;

	} catch (DocumentException de){}
	
	
	return null;
}

Desde já agradeço pela atenção…