Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/10/2012, 17:32
xaos
 
Fecha de Ingreso: octubre-2012
Mensajes: 11
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Validacion en JSP con BD Usuario existe?

En la JSP:

Código:
<form action="Chequeo" method="post">
                <center>
                <span class="style6">Usuario:</span>
                <input type="text" name="usuario" size=20></center><br>
                <center>
                <span class="style6">Contraseña:</span>
                <input type="Password" name="clave" size=20></center><br>
                <center><input type="submit" value="enviar"></center><br>
              </form>

En el web.xml:

Código:
<servlet>
        <servlet-name>Chequeo</servlet-name>
        <servlet-class>controlador.ServletChequeo</servlet-class>
    </servlet>

En el servlet, en el método processRequest(....):

Código:
response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String usuario = "";
        String clave = "";
        String url="";

        try {
            if (request.getParameter("usuario") != null)
                usuario = request.getParameter("usuario");

            if (request.getParameter("clave") != null)
                clave = request.getParameter("clave");
           
             if ( ClaseQueContieneLaFuncionDeChequear.Chequea(usuario,clave) ){
                HttpSession sesion=request.getSession(true);
                
               //Guardo en la sesion su nombre de usuario y contraseña
                sesion.setAttribute("usuario",usuario);
                sesion.setAttribute("clave", clave);

                System.out.println("Sesion : "+usuario);
                // crea el dispatcher al que reenviarle la solicitud
                RequestDispatcher dispatcher = request.getRequestDispatcher("/LaPaginaQueQuieras.jsp");
                // reenvia la petición
                dispatcher.forward(request, response) ;

           }else{
               // crea el dispatcher al que reenviarle la solicitud
                //out.println("Identificacion incorrecta");
                RequestDispatcher dispatcher = request.getRequestDispatcher("Login.jsp");

                // reenvia la petición
                dispatcher.forward(request, response);
           }
        } finally { 
            out.close();
        }

En la clase que contiene la funcion de chequear:

Una función que realiza la conexión:

Código:
public Connection getConexion() throws Exception {
		try {
			String driver = "com.mysql.jdbc.Driver";
			String url = "jdbc:mysql://localhost:3306/nombreDeTuBaseDeDatos";
			String user = "usuariodelabd";
			String password = "contraseña";
			Class.forName(driver);
			return DriverManager.getConnection(url, user, password);
		} catch(Exception e) {
			throw new Exception(e);
		}
	}
Y la función que hace el chequeo:

Código:
public boolean Chequea(String Usuario, String Clave) throws Exception {
        Connection conn = null;
    ResultSet result = null;
    PreparedStatement statement = null;
    try {
			int i;
			conn = getConexion();
			statement = conn.prepareStatement("SELECT * FROM `Usuarios` WHERE Usuario LIKE '"+Usuario+"' && Password LIKE '"+Clave+"'");
			result = statement.executeQuery();
			if(result.next()){
                            return true;
                        }else{
                            return false;
                        }
		} catch(SQLException sqle) {
			throw new Exception(sqle);
		} finally {
			if(result != null)
				try {
                                    result.close();
                                } catch(SQLException sql) {
                                    throw new Exception(sql);
                                }
			if(statement != null)
				try {
                                    statement.close();
                                } catch(SQLException sql) {
                                    throw new Exception(sql);
                                }
			if(conn != null)
				try {
                                    conn.close();
                                } catch(SQLException sql) {
                                    throw new Exception(sql);
                                }
		}
    }
}
Esto sería una forma de hacerlo, pero hay muchas. No te limites a copiar y pegar, trata de entenderlo, sino no te servirá de nada