Validar login

2 respostas
khaleo
Sou iniciante em java e tenho feito alguns exercicios, conforme eu vou montando a pagina, vou acrescentando mais recursos, isso só pra ir aprendendo cada vez mais...Tow com uma dúvida... quero validar o login do usuario verificando se o mesmo existe no banco.... o código é esse:
<c:choose>
            <c:when test="${param.login == null}">
                <center><h1>Login</h1></center>
                <form action="recebido.jsp" name="form"><center>
                        Login:<input type="text" name="login"><br><br>
                        Senha:<input type="password" name="senha"><br><br>
                        <input type="button" value="Confirmar" onclick="javascript:Valida()"><br><br>
                        <a href="cadastro.jsp">Cadastre-se</a>
                    </center>
                    
                </form>
            </c:when>
            <c:otherwise> 
                   <sql:query var="rSet" dataSource="${con}">
                        SELECT * FROM "TBLOGIN" WHERE "TBLOGIN"."LOGIN" = ${param.login}
                   </sql:query>
                <c:choose>                    
                    <c:when test="${rSet.rowsByIndex[0][1] == param.login}">
                        <SCRIPT LANGUAGE="javascript">
                            location.href="recebido.jsp";                            
                        </SCRIPT>
                    </c:when>
                    <c:otherwise>
                        <SCRIPT LANGUAGE="javascript">
                            alert("Usuário não permitido ao acesso");
                            history.go(-1);
                        </SCRIPT>
                    </c:otherwise>
                </c:choose>
            </c:otherwise>
        </c:choose>

Pessoal, sei q o código possa estar errado ou com certeza existe uma maneira mais simples de fazer isso (porém mais complicada para um iniciante!!) se vcs conseguirem uma solução aproveitando esse código, eu agradeço...
Valew

2 Respostas

Pedrosa

Não é legal ter regras de negócio na view mesmo que usando taglib.

Mande os dados para uma Servlet, que por sua vez aciona a sua classe de negócio, e controle o acesso com uso de filtros de uma pesquisada aqui

Ex:
Servlet

//sua classe de negocio
LoginDAO login = new LoginDAO();
//seu modelo
LoginVO usuario = new LoginVO();
if(acao.equals("login")){
    usuario.setUsuario(request.getParameter("usuario"));
    usuario.setSenha(request.getParameter("senha"));
    //metodo de retorno boolean 
    if(login.validaLogin(usuario)){
         //redirecione para onde quiser
    }
}

Isso é um exemplo bem simples, porém não é ideal, use algum framework MVC para obter mais produtividade.

khaleo

Valeu pela dica, mas é q como eu disse, sou um iniciante e estou fazendo alguns exercicios de um livro do Fernando Anselmo - Tudo sobre a JSP, nesse livro tem um exemplo q ele faz uma validação parecida com o código q eu fiz, porém ele não valida o login e a senha no banco, pois os mesmos já estão pré-definidos no próprio código… eu q quis incrementar mais um pouco o código e resolvi criar um banco simples, apenas com os campos login e senha, somente pra mim testar, será q vc poderia, se possível, tentar achar uma solução aproveitando meu código?? Se não puder, tudo bem, de qualquer forma eu agradeço…

Valeu amigo!!
Um abraço…

Criado 22 de novembro de 2006
Ultima resposta 23 de nov. de 2006
Respostas 2
Participantes 2