List não retorna dados

boa tarde, estou com problema para mostrar um List vindo do banco

segue as classes para melhor visualização, o container não apresenta erros porem não mostra os dados no banco .

o JSP monta a tabela, porem não mostra dados

segue codigo abaixo para melhor entendimento

Classe DAO

public List getListaDeUsuarios() throws SQLException {

        String sql = "select * from usuarios ";
        ResultSet rs = null;
        PreparedStatement ps = null;

        List<Usuarios> listaUsuarios = new ArrayList<Usuarios>();

        try {
            ps = connection.prepareStatement(sql);
            rs = ps.executeQuery();

            while (rs.next()) {

                Usuarios usuarios = new Usuarios();
                usuarios.setUsuario(rs.getString("usuario"));
                usuarios.setNivelAcesso(rs.getInt("nivel"));
                usuarios.setNome(rs.getString("nomeCompleto"));

                listaUsuarios.add(usuarios);

            }

            return listaUsuarios;

        } catch (SQLException e) {
            System.out.println("br.unifacs.ltp2.dao.UsuarioDAO.getListaDeUsuarios()");

        } finally {
            connection.close();
            ps.close();
            rs.close();
        }
      return null;
    }

Servlet ListaUsuario

UsuarioDAO usuarioDAO = new UsuarioDAO();

    try {
        List listaDeUsuarios = usuarioDAO.getListaDeUsuarios();

        request.setAttribute("sessaoListaUsuario", listaDeUsuarios);
        RequestDispatcher rd = request.getRequestDispatcher("/listaDeUsuarios.jsp");
        rd.forward(request, response);

    } catch (SQLException ex) {
        Logger.getLogger(ListaDeUsuarios.class.getName()).log(Level.SEVERE, null, ex);
    }

TagLib ListarFuncionarios

<%@tag body-content="empty" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="cor1" value="yellow"></c:set>
<c:set var="contador" value="${0}"></c:set>
    <table border="1">
        <tr class="linhaespecialTable">
            <td>Usuário</td><td>Nível de Acesso</td><td>Nome Completo</td><td>Alterar</td><td>Excluir</td>
        </tr>  
    <c:forEach var="registroUsuarios" items="${sessaoListaUsuario}">
        <c:choose>
            <c:when test="${contador % 2==0}">
                <tr style="background: ${cor1}">
                </c:when>
                <c:otherwise>
                <tr>
                </c:otherwise>
            </c:choose>
            <td>${registroUsuarios['usuario']}</td>
            <td>${registroUsuarios['nivel']}</td>
            <td>${registroUsuarios['nomeCompleto']}</td>
            
            
            <td><div align="center"><a href="AlteraUsuario?usuario=${registroUsuarios['usuario']}$nivel=${registroUsuarios['nivel']}$nomecompleto=${registroUsuarios['nomeCompleto']}"><img src="imagens/altera.png" alt="Altera"/></a></div></td>
            
            
            <td><div align="center"><a href="ExcluirUsuarios?usuario=${registroUsuarios['usuario']}"><img src="imagens/delete.png" alt="Excluir"/></a></div></td>
        </tr>
        
        <c:set var="contador" value="${contador+1}"></c:set>
    </c:forEach>
    <tr class="linhaespecialTable"><td colspan="6">Listando ${contador } registros de Usuários</td></tr>
</table>

JSP ListaFuncionarios

<%@page import="br.unifacs.ltp2.javabean.model.Usuarios"%>
<%@taglib tagdir="/WEB-INF/tags/" prefix="tags" %>


<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<c:import url="cabecalho.jsp" />

<c:import url="menu.jsp" />

<h1>Lista de Usuarios</h1>

<tags:listaUsuariosTable />


<c:import url="rodape.jsp" />
1 curtida

Penso que você não deveria fechar a conexão no Finally, deixe aberto enquanto seu programa estiver rodanndo. Quando você executa o getListaDeUsuarios(), a conexão já foi perdida. Tente remover todo o bloco Finally, e ve o que acontece

continua a mesma coisa, refiz novamente o servlet , mais continua. enfim

Olá,

A sua atividade agora chama-se depuração (debugging).

Oras, basta imprimir a lista de usuários em getListaDeUsuarios() antes do “return listaUsuarios;” ; e em “Servlet ListaUsuario” depois da linha “List listaDeUsuarios = usuarioDAO.getListaDeUsuarios();”, assim você terá uma noção melhor onde o problema possa estar.

Atenciosamente.

1 curtida