Dificuldade com este código que efetua autenticação em um sistema web

Boa Tarde!

Os conhecimento adquiridos por mim neste tempo em que estudo Java me permitiram realizar a seguinte lógica para um site que precisa de autenticação, porém preciso melhorá-lo e vim buscar ajuda, não estou conseguindo realizar isto sozinho…

Os dois trechos de código abaixo, são de uma mesma página jsp e inicialmente define duas string que são o login e a senha:

[code]<%

String login = “fernandoteste”;
String senha = “12345”;

%>[/code]

Há algumas linhas de código html e depois executo então a seguinte lógica para saber se o usuário está logado:

[code]<%
String login_form = request.getParameter(“login”);
String senha_form = request.getParameter(“senha”);

    if(login_form.equals(login) && senha_form.equals(senha))
    {
        out.println("Logado com sucesso!");
        session.putValue("loginUsuario", login);
        session.putValue("senhaUsuario", senha);
        out.println("<script>document.location.href='passo1_1.jsp';</script>");
    }
    else
    {
        
%>
    <br>
    Você não realizou sua autenticação em nosso sistema. <br>
    <br>
    Clique <a href='index.jsp'>aqui</a> para voltar à apresentação inicial do sistema ou tente logar-se novamente no formulário ao lado. 
    <%
   
    }
    
%>[/code]

Este código é bem simples e é para um sistema de um trabalho da faculdade, então o que vale é o aprendizado e não precisa ser tão complexo.

Mas agora listo minhas duas dúvidas principais e que gostaria de ajuda:

1 - Quero substituir aquele primeiro trecho em que criei duas strings de teste por registros do meu banco de dados mysql em que, em outra parte da aplicação há um cadastro, em que entre outros, o usuário cadastra um login e uma senha.
Então, qual lógica uso para buscar o login e a senha do banco de dados?

2 - Em cada página que quero “proteger” o acesso daqueles que não estão logados, tenho que copiar este código e colar ele no corpo da página desejada. Alguém tem uma sugestão de como posso simplesmente incluir (include) está página nas que eu desejo bloquear, sem precisar copiar todo o código? Pois quando dou um include, dá erro, mas se copio o código dentro da página que desejo proteger, funciona do jeito que eu quero.

Obrigado por possíveis ajudas!!!

  1. Você podia criar uma classezinha de ajuda com um método estático que recebe login e senha e retorna um booleano. Aí era só chamar esse método no if. Para mais detalhes sobre JDBC, veja esse tutorial rápido aqui: http://www.guj.com.br/java.tutorial.artigo.7.1.guj

Uma boa query para usar seria “SELECT COUNT(*) AS VALIDO FROM USUARIOS WHERE NOME = ? AND SENHA =?”

  1. Você usou jsp:include ou <@include>? Faz diferença…

dica básica: Nunca Nunca Nunca faça isso… rs

1º Nunca: NUNCA use scriptlets se há solução melhor.
2º Nunca: NUNCA faça acesso a banco de dados no JSP.
3º Nunca: NUNCA crie essa “classezinha de ajuda” não vai resolver o problema.

Brincadeiras à parte, Faça um ServletFilter. procure por esse tópico no guj, foi bem discutido. Ou, se não me engano aqui no fórum mesmo deve ter um artigo de como usá-lo.

abraços

É que como ele frisou que era um trabalho pra faculdade eu achei que poderia seguir por esse caminho mesmo. Mas com certeza, o certo é o que você falou.

Ops não vi essa parte… rs mas já que vai fazer faz direito né? rsrsrsrs

Obrigado pelas dicas… certamente serão úteis…

Irei atrás das respostas para meus problemas.