Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2011, 09:08
kirianky
 
Fecha de Ingreso: julio-2011
Mensajes: 7
Antigüedad: 13 años, 5 meses
Puntos: 0
Problema en un proyecto con NetBeans y Acces

Buenas tardes,

Antes de crear el post he buscado por el foro y no he encontrado ninguna coincidencia con mi problema. El caso es que hace un año o así hice un proyecto que era la gestión de una biblioteca vía web, y hace unos días lo encontré en una copia de seguridad y al lanzarlo me da error. El problema es que funcionaba perfectamente cuando lo guarde y ahora al ejecutarlo con el NetBeans no funciona ni siquiera el login. El error que me lanza es el típico “NullpointerExeption” cuando recupero el ResultSet de la sentencia en el JSP, pero lo he revisado todo y parece que todo esta bien, no se si el error esta en la base de datos o en el driver ODBC. Os pongo el error que sale en el GlassFish y el método conectar para ver si vosotros me podéis ayudar al encontrar el error. Gracias de antemano, un saludo.

Si os hace falta algun trozo de codigo más pedirmelo porfavor, merci de nuevo.

Error que me lanza:

Código:
INFO: CONECTADO - JSP
INFO: Sentencia comprovarUsuario: SELECT tipo_usuario FROM USUARIOS WHERE dni='admin' AND pasword='admin'
ADVERTENCIA: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
        at GestionBD.BaseDatos.comprovarUsuario(BaseDatos.java:453)
        at org.apache.jsp.validarEntrada_jsp._jspService(validarEntrada_jsp.java from :87)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662)
Método conectar y comprovar_usuario (que distinge entre admin, trabajador o usuario):

Código:
//Conectar
public void conectar(){

            //CONEXION CORRECTA
            //String dsn = new String("jdbc:odbc:biblio");
            String dsn = "jdbc:odbc:biblio";

            // Carga del Driver del puente JDBC-ODBC
            try {
                Class. forName("sun.jdbc.odbc.JdbcOdbcDriver");
                } catch(ClassNotFoundException ex) {
                    System.out.println("Error al cargar el driver");
                    System.out.println(ex. getMessage());
            }
            // Establecimiento de la conexión con la base de datos
            try {
                con = DriverManager. getConnection(dsn, "", "");
                System.out.println("CONECTADOOOOOOOOOO!!!");

            } catch (SQLException sqlEx) {
                System.out.println("Se ha producido un error al" +
                " establecer la conexión con: " + dsn);
                System.out.println(sqlEx. getMessage());
            }
	} 


//Comprovar Usuario
public String comprovarUsuario(String colDni, String colPw, String colTipo, String tabla, String dni, String pw){
         String tipo="";

		 try {
			 
                         String sentencia = "SELECT "+colTipo+" FROM "+tabla+ " WHERE "+ colDni + "='" + dni +"' AND " + colPw +"='"+pw+"'";
                         System.out.println("Sentencia comprovarUsuario: " + sentencia);
                         //Aqui me marca el error, al recueprar el ResultSet
                         ResultSet rs = stmt.executeQuery(sentencia);

			 while(rs.next() == true){
                            tipo = rs.getString(colTipo);
 			 }

		 } catch (SQLException e) {
			e.printStackTrace();
		 }
		 return tipo;
     }