Boa tarde eu tenho um relatório iReport e não quero que abra direto em tela , preciso que abra uma janela para salvar.
desde ja agradeço. obrigado.
package com.br.servlets;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import com.br.beans.Login;
import com.br.conexao.ConexaoIreport;
/**
* Servlet implementation class ServletRelatoriol
*/
public class ServletRelatorio extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void processRequest(HttpServletRequest httpServletRequest , HttpServletResponse httpServletResponse)
throws ServletException, IOException {
String var= httpServletRequest.getParameter("valor1");
String var2_vinculo = httpServletRequest.getParameter("valor2");
String path = getServletContext().getRealPath("/relatorios/");
String relJasper = path+ "\\Consulta.jasper";
HttpSession httpSession = httpServletRequest.getSession();
List listSession = (List) httpSession.getAttribute("login");
Iterator i = listSession.iterator();
while (i.hasNext()){
Login login = (Login)i.next();
login.setUsuario(login.getUsuario());
String usuario = login.getUsuario();
Map parameter = new HashMap();
parameter.put("Valor", var);
parameter.put("Tipo",Integer.parseInt(var2));
parameter.put("Usuario",usuario);
JasperPrint report = null;
ConexaoIreport conexaoIreport = new ConexaoIreport();
try{
report = JasperFillManager.fillReport(relJasper, parameter, conexaoIreport.getConnection());
JasperExportManager.exportReportToPdfFile(report, "Consulta.pdf");
httpServletResponse.setContentType("application/pdf");
byte x1[] = JasperExportManager.exportReportToPdf(report);
httpServletResponse.getOutputStream().write(x1);
}
catch (Exception e) {
System.out.print(e.getMessage());
e.printStackTrace();
}
}
}
public ServletRelatorio() {
super();
// TODO Auto-generated constructor stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
}
Da maneira que está funciona mas está abrindo direto no browser, gostaria de escolher onde salvar .

