Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2007, 12:41
Onuris
 
Fecha de Ingreso: diciembre-2007
Mensajes: 36
Antigüedad: 16 años, 5 meses
Puntos: 0
jsp de loguin - getters y setters

Bueh, ya pase por todo, primero haciendolo con swing, despues por web en jsp, ya hice la clase con las consultas y todo.
Esto es asi, la primer pagina que abre el usuario tiene un text, un password y un submit para loguearse, si no pone nada le muestra la misma pagina hasta que ponga, si pone mal la variable mostrarError se opne en true y muestra el cartel de error pidiendo que reingrese, y si ingresa bien muestra un cartel de bienvenida mostrarFormulario queda en false.
El tema es que uso beans para la validacion (si existe y esta bien la pass del usuario), supuestamente esta todo bien el codigo, pero el "supuestamente" implica que no esta funcionando, o sea que, ponga lo que ponga entra siempre en mostrarError, lo cual me dice que no esta entrando en validadorUsuario(), alguien me dice que esta pasando?

aca va el codigo:
validarUsuario.jsp
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page language="java" contentType="text/html" pageEncoding="utf-8" %>
<jsp:useBean id="validadorUsuario" scope="session" class="com.loguin.accesoabase.ValidadorUsuario"/>
<jsp:setProperty name="validadorUsuario" property="*"/>

<%! boolean mostrarFormulario = false; %>
<%! boolean mostrarError = false; %>
<%
	if(validadorUsuario.getUsuario() == null){
		mostrarFormulario = true;
	} else {
		mostrarFormulario = !validadorUsuario.isValid();
		mostrarError = mostrarFormulario;
	}
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Loguin de usuario</title>
</head>
<body>
<%
if (mostrarFormulario) {
	%>
	<form name="formulario" method="post" action="validarUsuario.jsp">
		<input type="text" name="usuario">
		<input type="password" name="password">
		<input type="submit" name="Ingresar">
	</form>
	<%
	if (validadorUsuario.isError()) {
		%>
            <h1>Un problema en nuestros servidores impidió procesar su ingreso.</h1>
            <h1>Por favor, contáctese con el Administrador del sitio.</h1>
		<%
	} else if(mostrarError) {
		%>
		<h1>El nombre y/o la contraseña ingresados son invalidos</h1>
		<%
	}
} else {
	%>
	<h1>Bievenido <jsp:getProperty name="validadorUsuario" property="usuario"/></h1>
	<%
}
%>
</body>
</html>
ValidadorUsuario.java
Código:
package com.loguin.accesoabase;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ValidadorUsuario {
	
	private String usuario;
	private String password;
	private String nombre;
	private boolean valido = false;
	private boolean hayError = false;
	
	private boolean buscarElUsuarioYLaPass() throws SQLException{
        Connection coneccion = null;
        PreparedStatement sentencia = null;
        ResultSet resultado = null;
       
        String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
        String URL = "jdbc:derby:e:\\Usuarios";
        String QUERY = "SELECT PASSWORD, NOMBRE FROM USUARIOS.LOGIN WHERE USUARIOID=?";
       
        boolean existe = false;
       
        try {
            Class.forName(DRIVER);
            coneccion = DriverManager.getConnection(URL);
            sentencia = coneccion.prepareStatement (QUERY);
            sentencia.setString( 1, usuario);
            resultado = sentencia.executeQuery(QUERY);
            
            if (resultado.next()&& password.equals(resultado.getString(1))){
            	nombre = resultado.getString(2);
            	existe = true;
            }
        } catch (Exception e) {
                e.printStackTrace();
        } finally {
        	if (resultado != null) resultado.close();
            if (sentencia != null) sentencia.close();
            if (coneccion != null) coneccion.close();
        }
        return existe;
    }
	
	//Getters y Setters
	public String getUsuario(){
		return usuario;
	}
	
	public void setUsuario(String u){
		usuario = u;
	}
	
	public void setPassword(String u){
		password = u;
	}
	
	public String getNombre(){
		return nombre;
	}
	
	public boolean isValid(){
		if(valido) return true;
		try{
			valido = buscarElUsuarioYLaPass();
			hayError = false;
		}catch(Exception e){
			valido = false;
			hayError = true;
		}
		return valido;
	}
	
	public boolean isError(){
		return hayError;
	}
}
Saludos