Recapacitando...Ayuda mi informe sale en blanco

Hola pues bien aquí de nuevo. Realizando como ejemplo un reporte con jasperreports que encontre aquí en los foros. He encontrado un inconveiente ya que a la hora de mandar a visualizar el reporte en pdf este me sale en blanco les dejo mis clases que son el servlet y la consulta a la base de datos haber si pueden ayudarme porfavor. O algun tip que me puedan dar. De antemano muchas gracias esperando no molestar pero la verdad ya me trabe con este ejmplito.

package controlador.usuario;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import modelo.usuario.ConsultasDAO;
import net.sf.jasperreports.engine.JasperRunManager;

public class ServicioContrato extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ConsultasDAO Servicios = new ConsultasDAO();
        ServletOutputStream servletOutputStream = response.getOutputStream();
        InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream("Contrato.jasper");
        try {
            Map empleados = Servicios.Reporte(request.getParameter("clave").toString());
            System.out.print("y aqui en el servlet" + empleados);
            JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, empleados);
        } catch (Exception e) {
            StringWriter stringWriter = new StringWriter();
            PrintWriter printWriter = new PrintWriter(stringWriter);
            e.printStackTrace(printWriter);
            response.setContentType("application/pdf");
            response.getOutputStream().print(stringWriter.toString());
        }
    }
}

La consulta a la base de datos la hago desde esta clase y retorno un Map.

package modelo.usuario;

import java.sql.*;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author ale
 */

public class ConsultasDAO {

    Statement st = null;
    Connection connection = null;
    ResultSet rs = null;
    String ca = "";
    String cam = "";
    String cam2 = "";
    String cam3 = "";
    String cam4 = "";
    String cam5 = "";

    public ConsultasDAO() {
    }
    ;

    public Map Reporte(String clave) {
        Map empleados = new HashMap();
        Conexion con = new Conexion();
        connection = con.conectar();
        System.out.print("Ests es la clave " + clave);
        try {
            st = connection.createStatement();
            rs = st.executeQuery("select clave, nombre, apaterno, amaterno, direccion, telefono from Empleados where clave=" + clave);
            while (rs.next()) {
                ca = rs.getString("clave");
                cam = rs.getString("nombre");
                cam2 = (rs.getString("apaterno"));
                cam3 = (rs.getString("amaterno"));
                cam4 = (rs.getString("direccion"));
                cam5 = (rs.getString("telefono"));
            }
            empleados.put("clave", ca);
            empleados.put("nombre", cam);
            empleados.put("apaterno", cam2);
            empleados.put("amaterno", cam3);
            empleados.put("direccion", cam4);
            empleados.put("telefono", cam5);
            System.out.println("si hace la consulta en el modelo" + empleados);
        } catch (SQLException e) {
            System.err.print("Error en la consulta" + e.getMessage());

        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (st != null) {
                    st.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (Exception e) {
                System.err.print("Error en la Consulta");
                e.printStackTrace();
            }
        }
        return empleados;
    }
}

Como les mencionaba me base en un ejemplo de aqui en los foros recibe como paramtro una clave desde el jsp. Bueno espero puedan ayudarme aunque sea un tip. Gracias.