Erro em jsp comparando String, não consigo entender porque acontece o erro

Boa tarde sou iniciante em JSP.
Esta acontecendo a seguinte exceção no meu JSP.

O codigo do JSP

[code]
<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>
<%! public static boolean verificaUsuario(String nome, String senha)
{
if(nome.equals(“deivid”))
{
if(senha.equals(“123”)e)
return true;
}
return false;
}
%>
<%
// Pegamos a session
session = request.getSession();
// Verificamos se a session existe
out.print(session.getAttribute(“nome”));
if(session.getAttribute(“nome”)== null)
{
// Pegamos os parametros do formulario
String nome = (String) (request.getParameter(“nome”));
String senha = (String) (request.getAttribute(“senha”));

    if(nome == null)
    {
        response.sendRedirect("login.html");
    }
    else
    {
        // Fazemos a consulta no banco de dados para ver se existe o usuario
        boolean existe = verificaUsuario(nome, senha);
    
        if(existe == false)
        {
            // Redireciona para a pagina de login pois seus dados estão errados
            response.sendRedirect("login.html");
        }
        else
        {
            out.println("entrou aqui criou a session "+ nome);
            // Criamos a session de login
            
            session.setAttribute("nome", nome );
            session.setAttribute("senha", senha);
            out.print(session.getAttribute("nome"));
        }
    }
}

%>[/code]
Quando tento fazer o primeiro login testando por GET http://localhost:8084/javamailmack/autenticador.jsp?nome=deivid&senha=123
acontece a exceção parece que no equals. Mas não era pra funcionar corretamente?
Qual é o erro pessoal?
Obrigado

troque:

String senha = (String) (request.getAttribute("senha"));
por:

String senha = (String) (request.getParameter("senha"));

Você não setou um atributo de request, e sim um parâmetro. Por isso, senha estava null.

Boa sorte!

Funcionou, muito Obrigado!