= nome; this.endereco = endereco; this.email = email; this.cidade = cidade; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getCidade() { return cidade; } public void setCidade(String cidade) { this.cidade = cidade; }}Cliente.javapackage relatorio;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;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 modelo.Cliente;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperPrintManager;import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;import net.sf.jasperreports.view.JasperViewer;public class RelatorioServlet extends HttpServlet { private static final long serialVersionUID = 1L; public RelatorioServlet() { super(); } public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List clientesLista = new ArrayList(); clientesLista.add(new Cliente("Jabes Felipe", "Copacabana, 54", "jabesfelipe@gmail.com", "Rio de Janeiro")); clientesLista.add(new Cliente("Camila Ribeiro", "Ipanema,324", "camilarib@gmail.com", "Rio de Janeiro")); clientesLista.add(new Cliente("Jaque Silva", "Lapa, 44", "jaquesilva@gmail.com", "Rio de Janeiro")); clientesLista.add(new Cliente("Bruna Lira", "Centro, 32", "brunalira@gmail.com", "Rio de Janeiro")); clientesLista.add(new Cliente("Amanda Alves", "Lapa, 342", "amandaa@gmail.com", "Rio de Janeiro")); clientesLista.add(new Cliente("Priscila Ratina", "Barra Tijuca, 86", "priscilaratina@gmail.com", "Rio de Janeiro")); clientesLista.add(new Cliente("Carolina Marques", "Copacabana, 234", "carolinamarques@gmail.com", "Rio de Janeiro")); try { String acao = request.getParameter("acao") == null ? "" : request.getParameter("acao"); String caminhoJasper = getServletContext().getRealPath("/WEB-INF/classes/relatorio/") + "/"; String caminho = getServletContext().getRealPath("/"); JRBeanCollectionDataSource jrDT = new JRBeanCollectionDataSource(clientesLista); Map parametros = new HashMap(); parametros.put("titulo", "Relatorios de Clientes"); parametros.put(clientesLista, jrDT); parametros.put("total", "Total de Clientes: " + clientesLista.size()); JasperPrint jasperPrint = JasperFillManager.fillReport(caminhoJasper + "clientes.jasper", parametros, jrDT); if("visualizar".equals(acao)) { JasperViewer.viewReport(jasperPrint, false); } else if("pdf".equals(acao)) { JasperPrintManager.printReportToPdfFile(jasperPrint, caminho + "/RelatorioCliente.pdf"); response.sendRedirect("RelatorioCliente.pdf"); } else { response.sendRedirect("index.jsp"); } } catch (JRException e) { e.printStackTrace(); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); }}RelatorioServlet.java3. Passo: Para testar, crie um index.jsp, como o do exemplo abaixo:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Relatorio em Java</title><script type="text/javascript"> function visualizarRelatorio() { enviar("visualizar"); } function gerarRelatorioPDF() { enviar("pdf"); } function enviar(acao) { document.forms[0].acao.value = acao; document.forms[0].target = "_blank"; document.forms[0].action = "./RelatorioServlet"; document.forms[0].submit(); }</script></head><body><h1>Relatorio de Clientes</h1><form action="./RelatorioServlet" method="post" onsubmit="return false;"> <input type="hidden" name="acao" /> <input type="submit" value="Visualizar Relatorio" onclick="javascript:visualizarRelatorio();"> <input type="submit" value="Gerar Relatorio PDF" onclick="javascript:gerarRelatorioPDF();"> </form></body></html>index.jspExemplo: IndexVizualizando o Relatorio:PDF do Relatorio:Bom galera, este foi um exemplo de como criar relatorios em Java, usando o JasperReport e o iReport,Para quem quiser baixar o exemplo, clique aqui.Qualquer duvida, critica ou sugestao, fico a disposicao.