Programación General > JSP/Servlets

 Jdbc-servlet

<< < (2/2)

nicokiki:
El NULLPointerException lo devuelve porque no habras instanciado algo pero si compila pero no anda. No entiendo q puede llegar a ser, pero si te puedo pasar un codigo, la respuesta es si, te doy un servlet q tira una consulta, ahi va:

package mcpatos;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

/**
 * <p>Title: Mc Pato's</p>
 * <p>Description: Delivery de Comidas Rapidas</p>
 * <p>Copyright: Copyright © 2004</p>
 * <p>Company: Gonzalez & Tavasci</p>
 * @author Gonzalez Nicólas, Tavasci Dozo Pablo
 * @version 1.0
 */

public class ServletLogueo extends ServletBase {

  /** Procesa la petición del método post.
   *  @param  request
   *  @param  response
   *  @throws ServletException
   *  @throws IOException*/
  public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
    if ((request.getParameter("AccionServidor")).equals("AccionIngresoUsuarios"))
      doLogin(request, response);
    if ((request.getParameter("AccionServidor")).equals("AccionCerrarSesion"))
      doCloseSession(request, response);
  }

  /** Metodo que despacha a distintas paginas de acuerdo a si el usuario
   *  se encuentra registrado o no
   *  @param  request
   *  @param  response
   *  @throws ServletException
   *  @throws IOException*/
  private void doLogin(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
    response.setContentType(CONTENT_TYPE);
    session = request.getSession(true);
    session.setMaxInactiveInterval(300); //Seteamos 5 minutos de sesión por default

    String Username = request.getParameter("username");
    String Password = request.getParameter("password");

    //Verifico el nombre de usuario y contraseña
    //donde username y password son los nombres de los edit text de la
    //pagina HTML de inicio
    if (isRegistered(Username, Password))
    {
      GoToPage("/SitioMc/Consultas/Usuario.jsp", request, response);
    }
    else
      GoToPage("/SitioMc/Errores/UsuarioNoRegistrado.html", request, response);
  }

  /** Metodo que verifica si el usuario ingresado esta registrado
   *  @param username
   *  @param password
   *  @returns true o false */
  private static boolean isRegistered(String username, String password)
  {
    if ((username == null) || (password == null))
      return false;

    boolean success = false;
    java.sql.Statement ibLogin = null;
    java.sql.ResultSet dsLogin = null;

    // Ejecuto la consulta en caso de ser posible
    try
    {
      ibLogin = McPatosDataBase.getConnection().createStatement();
      dsLogin = ibLogin.executeQuery("select Nombre, Clave, CodigoCliente, Administrador from usuarios where nombre = '" + username + "' and clave = '" + password + "'");
    }
    // Atrapo la excepcion correspondiente a la consulta
    catch (java.sql.SQLException e)
    {
      System.out.println ("Error al tirar el select a Usuarios.");
      showSQLException (e);
    }
    // Analizo los resultados de la consulta y los comparo contra los
    // recibidos por parámetro
    try
    {
      while (dsLogin.next())
      {
        if ( (username.equals(dsLogin.getString("Nombre")))
        &&   (password.equals(dsLogin.getString("Clave"))) )
        {
          session.setAttribute("Nombre",username);
          String customerCode = dsLogin.getString("CodigoCliente");
          session.setAttribute("Codigo",customerCode);
          session.setAttribute("Administrador",dsLogin.getString("Administrador"));

          if (dsLogin.getInt("CodigoCliente") > 0)
          {
            try
            {
              dsLogin = ibLogin.executeQuery("select Nombre from Clientes where codigo = '" + customerCode + "'");
              dsLogin.next();
              session.setAttribute("Nombre", dsLogin.getString("Nombre"));
              success = true;
            }
            catch (java.sql.SQLException e)
            {
              System.out.println ("Error al tirar el select a Clientes.");
              showSQLException (e);
            }
          }
          else
          {
            session.setAttribute("Nombre", username + " - Personal del local");
            success = false;
          }
        }
      }

      try { if (dsLogin!=null) dsLogin.close (); } catch (java.sql.SQLException e) { showSQLException (e); }
      try { if (ibLogin!=null) ibLogin.close (); } catch (java.sql.SQLException e) { showSQLException (e); }

    }
    // Atrapo la excepcion correspondiente a la navegacion de los resultados
    catch (java.sql.SQLException e)
    {
      System.out.println ("Incapaz de navegar por los resultados de la consulta dsLogin");
      showSQLException (e);
    }
    // En caso de no existir el registro en la base de datos, el metodo
    // devuelve false
    return success;
  }

  /** Metodo que cierra la sesion y despacha al inicio del Sitio
   *  @param  request
   *  @param  response
   *  @throws ServletException
   *  @throws IOException*/
  private void doCloseSession(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException
  {
    response.setContentType(CONTENT_TYPE);
    session.setAttribute("Carrito", null);
    session = null;
    GoToPage("/SitioMc/index.html", request, response);
  }

}

guanuma:
:hola:

gracias por el codigo.

nicokiki:
De nada!!!!!!!!!

Pero............te sirvio o no????

Salu2!!!!!!!

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa