Session - Como saber qual usuário está logado?

Boa noite pessoas.
Estou com um problema. Estou querendo pegar valores da variável codUsuario, mas ele sempre retorna null. Preciso saber qual é o codUsuario logado no sistemas. Como faço para fazer isto?

public class Login {
     
    @SuppressWarnings("static-access")
    public static String execute(HttpServletRequest request) {        
        
        String erro="";        
        String jsp="";        
        String nome = request.getParameter("nome");
        String senha = request.getParameter("senha");
        
        Usuario usr = new Usuario();
        UsuarioDAO usrDAO = new UsuarioDAO();        
        try {
            usr = usrDAO.getUserLogin(nome, senha);
            if(usr == null){
                erro="Usuário não encontrado!";
                request.setAttribute("erro", erro);
                jsp = "/erro.jsp";
            }               
            else{
                request.getSession().setAttribute("codUsuario", usr.getCodUsuario());                
                jsp = "/menu.jsp";
            }
            
        } catch (Exception e) {
            e.printStackTrace();
            jsp = "";
        }
        return jsp;        
     }
    
    public static void validarSessao(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
        Integer codUsuario = (Integer) request.getSession().getAttribute("codUsuario");
        String jsp="";
        if(codUsuario == null ){
            jsp = "/index.jsp";
             //Redirecionando pagina
            RequestDispatcher rd = request.getRequestDispatcher(jsp);
            rd.forward(request, response);
        }        
    }
}

menu.jsp

<%@page contentType="text/html" pageEncoding="windows-1252"%>
<%@page import="controller.vo.Usuario,controller.Login"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">


<%!
String codUsuario=""; 
%>
<%
 Login.validarSessao(request, response);
%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
        <title>blank page</title>
    </head>
    <body>
        <h2>Menu</h2>
         <a href="/projeto/servletweb?acao=AlterarUsuario&CodUsuario=<%=codUsuario%>">Alterar Conta</a>
    </body>
</html>

Se o seu problema ocorre no passo em que é chamado o método validarSessao é necessário você postar quem chama este método para ser ajudado

Então cara…
Estou conseguindo validar a sessão, só que o problema é que eu quero saber qual é o usuario que está logado. Onde eu implemento uma String que retornará um valor do códiogo de usuário da sessão?

Por exemplo: O Fulano da Silva que tem o codUsuario de número 431 está logado.
Ai eu quero pegar esse valor 431 e atribo ele no link: /projeto/servletweb?acao=AlterarUsuario&CodUsuario= recebendo como parametro 431 ficando /projeto/servletweb?acao=AlterarUsuario&CodUsuario=431. Ai nesta página de alteração do cadastro, carregará todas as informações do usuário(já consegui implementar isto). O que eu preciso é só retornar o código do usuário logado.
Vlw :slight_smile:

Não entendi muito bem, mas, eu acho que você tem que pegar o objeto HttpSession e salvar o codUsuario nele… porque se você estiver usando o Request não vai funcionar, devido ao tempo de vida de um request…

Eu não entendi nada do que vc disse hehe
me desculpa mas eu não entendo muito sobre servlets. Eu só preciso saber se precisa criar um novo metodo pra pegar o valor de getCodUsuario.
Preciso que seja enviado todas as classes envolvidas para que seja melhor comprendido o que eu quero?

Cara realmente tá dificil de entender o que vc realmente quer porque vc não detalhou a tua duvida

Digamos que vc tenha 20 usuarios logados no mesmo sistema. Entao vc abre uma funcionalidade que mostre os 20 usuarios logados, é isso

ou

Vc loga no sistema e precisa ver o nome do teu usuario corrente na tela

especifique sua duvida, porque assim fica dificil entender

att.

Eu preciso que exiba o nome do usuário na tela :slight_smile:
desculpe hehe

Um detalhe sobre o que eu quero…
Depois que o usuário logar, tem que imprimir no jsp o nome dele e a opção para alterar os dados. Esse é o objetivo, mas não sei da onde eu pego essa String.

Até onde pude notar você fez certo ao inserir o codigo na sessão.
Então para recuperar tenta substituir &lt;%=codUsuario%&gt; por ${codUsuario}