Oi Tiago,
Tive a mesma dificuldade que você e afinal consegui resolver.
Primeira coisa e importantíssima é a versão do ireport, consegui rodar com a 2.0.0
Para colocar no seu projeto vc vai ter que criar uma Servlet, mapear na Web.xml e chamar de um form ou link esta servlet. Os arquivos gerados pelo ireport .jasper e .jrxml devem ficar junto com suas paginas jsp, no mesmo local. Quando vc executa o ireport ele tende a colocar o .jasper na pasta do ireport, você pode configurar isso em Opções, Compilador e localizar o local desejado para a compilação.
Vou colocar um exemplo:
Servlet:
import <a href="http://java.io">java.io</a>.<em>;
import java.util.HashMap;
import java.util.Map;
import static com.clau.jsp.ConnectionFactory.</em>;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.<em>;
import javax.servlet.http.</em>;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperPrint;
public class EmiteRel extends HttpServlet{
protected void processRequest(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, Exception {
String path = getServletContext().getRealPath("/");
String relJasper = path + "\\RelFaturamento.jasper";
Map parameters = new HashMap();
parameters.put("PAR_FRANQUIA",request.getParameter("unidade2")) ;
parameters.put("PAR_DATA",request.getParameter("data2")) ;
JasperPrint report = null;
try{
report = JasperFillManager.fillReport(relJasper, parameters,getConnection());
response.setContentType("application/pdf");
byte x1 [] = JasperExportManager.exportReportToPdf(report);
response.getOutputStream().write(x1);
}catch (JRException e){
System.out.println(e.getMessage());
}
}
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (Exception ex) {
Logger.getLogger(EmiteRel.class.getName()).log(Level.SEVERE, null, ex);
}
}
protected void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (Exception ex) {
Logger.getLogger(EmiteRel.class.getName()).log(Level.SEVERE, null, ex);
}
}
public String getServletInfo(){
return "Short description";
}
}
web.xml
RelatorioServlet
com.clau.jsp.EmiteRel
RelatorioServlet
/emiterel
.jsp
pode ser com form:
Unidade:<input type=“text” name=“editFranquia” value = <%=variavel.getCodunidade()%>>
ou em link
Imprimir
Observe que no caso estou passando parâmetros do form e do link.
Espero ter ajudado!!