JSTL não funcionando na JSP

Oii gente, to desenvolvendo uma pagina web, um portfólio, e uso um campo input select em que as opções serão baseadas na busca de dados do BD, tentei usar JSTL algo que não sei mas li que era mais correto que scriplets, parece tudo correto de acordo com o que pesquisei mas ele não exibe nada.

index.jsp

                <label class="control-label" for="localizacaoA">Localização</label>
                <p>Aqui você poderá ver e selecionar a localização dos usuários com a área de atuação escolhida.</p>
                <select class="form-control" name="area">
                    <option value="">Selecione uma opção</option>
                    <c:forEach items="${listaEstados}" var="teste">
                    <option value="${teste.nome}"><c:out value="${teste.nome}"/></option>    
                    </c:forEach>
                </select>                   

enviar.java (servlet)

protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        UsuariosDAO dao = new UsuariosDAO();
        // Query data from Database.
        List<Usuarios> lista = dao.readAll();
        System.out.println("Lista: " + lista);
        // Store Data into 'listaEstados' attribute of request.
        request.setAttribute("listaEstados", lista);
        request.getRequestDispatcher("index.jsp").forward(request, response);
    }

UsuariosDAO.java

public List<Usuarios> readAll() {
    Connection con = ConnectionFactory.getConnection();
    PreparedStatement stmt = null;
    ResultSet rs = null;

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

    try {
        stmt = con.prepareStatement("SELECT * FROM usuarios_cadastrados");
        rs = stmt.executeQuery();

        while (rs.next()) {
            Usuarios usuarioU = new Usuarios();
            usuarioU.setNome(rs.getString("nome"));
            usuariosAll.add(usuarioU);
        }

    } catch (SQLException ex) {
        throw new RuntimeException("Erro: ", ex);
    } finally {
        ConnectionFactory.closeConnection(con, stmt, rs);
    }
    return usuariosAll;

}

E os jars do hstl, incluiu?

gera alguma exceção ??? se sim posta ai.
seu connectionFactory esta como ?

colocou as duas jar do jstl ? jstl e jstl-api
colocou a jar do banco ?

se fez tudo isso amostra sua connectionFactory

Precisa importar os jars? Pensei que fosse necessário apenas a taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

public class ConnectionFactory {
    
    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost:3306/dados_formulario";
    private static final String USER = "root";
    private static final String PASS = "";

    public static Connection getConnection() {
        try {
            Class.forName(DRIVER);
            return DriverManager.getConnection(URL, USER, PASS);
        } catch (ClassNotFoundException | SQLException ex) {
            throw new RuntimeException("Erro na conexão: ", ex);
        }
    }

    public static void closeConnection(Connection con) {
        try {
            if (con != null) {
                con.close();
            }
        } catch (SQLException ex) {
            throw new RuntimeException("Erro: ", ex);
        }

    }

    public static void closeConnection(Connection con, PreparedStatement stmt) {
        closeConnection(con);

        try {
            if (stmt != null) {
                stmt.close();
            }
        } catch (SQLException ex) {
            throw new RuntimeException("Erro: ", ex);
        }
    }
    public static void closeConnection(Connection con, PreparedStatement stmt, ResultSet rs) {
        closeConnection(con, stmt);
        
        try {
            if (rs != null) {
                rs.close();
            }
        } catch (SQLException ex) {
            throw new RuntimeException("Erro: ", ex);
        }
    }
}

Meu ConnectionFactory ta correto, não ocorre nenhuma exception possuo a biblioteca do mysql jdbc também e eu consigo inserir normalmente mas só consigo exibi-los usando scriplet, pelo visto me faltam os jars, se puderem me mandar um link que eu possa baixa-los eu agradeceria

A taglib é uma parte dos jars. Por isso é fundamental ter os jars.

Você pode tá encontrando os jars aqui neste post do GUJ que já foi respondido.

Eu andei revisando as bibliotecas do netbeans e achei a do jstl, nela vem a api e impl, se for a mesma coisa que o que voces falaram então o erro está no meu codigo