iReport

Bom galera estou com uma dúvida, estou desenvolvendo um projeto web utilizando servlets, juntamente com iReport para fazer os meus relatórios. A dúvida é minha classe compila o arquivo e gera um pdf, porém eu não estou conseguindo fazer com que esse arquivo pdf gerado apareça para o usuário fazer o download no browser, na minha servlet estou apenas imprimindo com a classe PrintWriter. O retorno dessa minha classe é realmente JasperPrint?

public class FuncionarioRelatorio {


public JasperPrint relatorio(String mapa, String filtro){

try {
// Conexao
Connection conn = ConnectionManager.startConnection();

// compilacao do JRXML
JasperReport report = JasperCompileManager.compileReport("/relatorios/funcionarios.jrxml");

HashMap<String, Object> hashMap = new HashMap<String, Object>();
hashMap.put(mapa, filtro);

JasperPrint print = JasperFillManager.fillReport(report, hashMap, conn);

JasperExportManager.exportReportToPdf(print);

return print;

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e);
}
return null;
}
}

Google, tem vários exemplos
http://www.google.com.br/#hl=pt-BR&gs_nf=3&cp=12&gs_id=it&xhr=t&q=jasper+servlet&pf=p&output=search&sclient=psy-ab&oq=jasper+servl&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=454cb47f6628dd0f&bpcl=37643589&biw=1440&bih=780