Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/06/2011, 07:23
una_xikilla
 
Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Error Pool de Conexiones - java.lang.NullPointerException

Lo primero, muchiiiiiiiiiiiiiiiiiisimas gracias por contestar. Aleluya, jeje.
Lo segundo:
He hecho otro .java basado en el otro pero con comentarios, aquí dejo el código

Código:
import java.io.*;
import java.sql.*;
import javax.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;

public class AccesoBD extends HttpServlet {
private DataSource fuenteDatos = null;

    public void init(ServletConfig config) throws ServletException
    {
        try
        {
            // recuperamos el contexto inicial y la referencia a la fuente de datos
            Context ctx = new InitialContext();
            fuenteDatos = (DataSource) ctx.lookup("java:comp/env/jdbc/AccesoBD");
        }
        catch (Exception e)
        {
            throw new ServletException("Imposible recuperar java:comp/env/jdbc/AccesoBD",e);
        }
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
        Connection con = null; // conexion parcial

        response.setContentType("text/html");   // retornamos el tipo de respuesta
        PrintWriter out = response.getWriter();

        out.println("Prueba del Pool de Objetos");
        out.println("Buscamos tutorial con sentencias preparadas");

        try {

           out.println("Probamos a recuperar conexión");

            synchronized (fuenteDatos)
            {
                con = fuenteDatos.getConnection(); // cogemos la conexion
            }

            if(con == null)
            {
                out.println("Error al recuperar la conexion, es nula");
                throw new ServletException("Problemas con la conexion");
            }

            out.println("Preparamos la consulta");

            PreparedStatement pstmt = con.prepareStatement("SELECT * FROM casarural");
            pstmt.setInt(1,10); // establecemos el entero
            ResultSet results = pstmt.executeQuery();

            while (results.next())
            {
                String id = results.getString(1);
                String nombre = results.getString(2);
                out.println("El nombre es " + nombre + " para id " + id + "");
            }
        }
        catch (Exception e)
        {
            out.println("Error al procesar consulta " + e.getMessage());
        }
        finally  // pase lo que pase retornamos la conexion
        {
            try
            {
                con.close();
            }
            catch (Exception e)
            {
                out.println("Error en proceso " + e.getMessage());
            }
        }
        out.println("-Fin-");  // cerramos la respuesta
         out.close();  // Cerramos buffer
    }
}
Y me sale:

Código:
Prueba del Pool de Objetos 
Buscamos tutorial con sentencias preparadas 
Probamos a recuperar conexión 
Error al procesar consulta Cannot create JDBC driver of class '' for connect URL 'null' Error en proceso null -Fin-