[RESOLVIDO] Como povoar Tabela em JSP

Boa tarde!

Sou nova na programção web e estou com dificuldades em povoar a tabela de um form com o conteudo do banco de dados, já estou conectada a ele, segue os códigos:

FORM:

<%@page import="java.util.Iterator"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import = "dao.PessoaDAO" %>
<%@page import = "entidade.Pessoa" %>
<%@page import = "apoio.ConexaoBD" %>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Painel - Cadastro de Dados</title>
    </head>
   
    <body>
        <br>
        <form name="formPessoa" method="POST" action="SERVPessoa?acction=listaPessoa">
            ID Pessoa:<input type="text" name="txtId"><br>
            Nome:<input type="text" name="txtNome"><br>
            Email:<input type="text" name="txtEmail"><br>
            Telefone:<input type="text" name="txtTelefone"><br>
            Data nascimento:<input type="text" name="txtData"><br>
            <br>
            <input type="submit" name="btnInserir" value="Cadastrar">
            <input type="submit" name="btnModificar" value="Alterar">
            <input type="submit" name="btnDeletar" value="Excluir">     
            <input type="submit" name="btnListar" value="Listar">  
              
        </form>
        
        <br>
    <hr> <center>
        <table border="1">
            <tr>
                <th>ID</th> <th>NOME</th><th>EMAIL</th><th>TELEFONE</th> <th>DATA NASCIMENTO</th>            
            </tr>
 
        </table>

    </center>
        
    </body>
    
</html>

SERVLET

package servlet;

import apoio.ConexaoBD;
import dao.PessoaDAO;
import entidade.Pessoa;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class SERVPessoa extends HttpServlet {
      private static final long serialVersionUID = 2L;
    private Connection conn;
    private ConexaoBD conexao;

       public void init () {
           this.conexao = new ConexaoBD();
           this.conn = this.conexao.getConexao();
       }
       
       public SERVPessoa () {
           super ();
       }
    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
         
            PessoaDAO dao = new PessoaDAO ();
            Pessoa p = new Pessoa ();
            List<Pessoa> listaPessoa = new ArrayList ();
            
            String resposta ="";
            RequestDispatcher rd = null;
 
            try{
                if (request.getParameter("btnInserir") != null) {
                    p.setIdPessoa(Integer.parseInt(request.getParameter("txtId")));
                    p.setNome(request.getParameter("txtNome"));
                    p.setEmail(request.getParameter("txtEmail"));
                    p.setTelefone(request.getParameter("txtTelefone"));
                    p.setDatanascimento(request.getParameter("txtData"));
                    resposta = dao.cadastrar(p);
                    request.setAttribute("resposta", resposta);
                }else if(request.getParameter("btnModificar") !=null) {
                    p.setIdPessoa(Integer.parseInt(request.getParameter("txtId")));
                    p.setNome(request.getParameter("txtNome"));
                    p.setEmail(request.getParameter("txtEmail"));
                    p.setTelefone(request.getParameter("txtTelefone"));
                    p.setDatanascimento(request.getParameter("txtData"));
                    resposta = dao.alterar(p);
                    request.setAttribute("resposta", resposta);
                }else if (request.getParameter("btnDeletaar") !=null) {
                    p.setIdPessoa(Integer.parseInt(request.getParameter("txtId")));
                    resposta = dao.excluir(p);
                }else if (request.getParameter("btnListar") !=null) {
                     listaPessoa = dao.listar();
		     request.setAttribute("listaPessoa", listaPessoa);
                    
                }
                
                rd = request.getRequestDispatcher("listaPessoa.jsp");

            }catch (Exception e) {
                System.out.println ("Erro" + e);
            }

            rd.forward(request, response);
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println ("Olá Servlet");
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println ("Olá Servlet");
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

CONEXÃO:

package apoio;

import java.sql.Connection;
import java.sql.DriverManager;

public class ConexaoBD {
        
    public static Connection getConexao(){
    
        try {
           Connection con =  DriverManager.getConnection (
                    "jdbc:mysql://localhost:3306/bdcurriculo?serverTimezone=UTC",
                    "root",
                    "" 
           ); 
           return con;
     
        } catch (Exception ex) {
          System.err.print ("Erro na conexão" + ex.getMessage());
          return null;
        }  
    }
   
}

DAO:

package dao;

import apoio.ConexaoBD;
import entidade.Pessoa;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.*;

public class PessoaDAO implements Operacoes {
     private Connection conn;
     private ConexaoBD conexao;
 
    public PessoaDAO () {
        this.conexao = new ConexaoBD ();
        this.conn = this.conexao.getConexao ();
    }
    
    @Override
    public String cadastrar(Object obj) {
     
        Pessoa pessoa = (Pessoa) obj;
        String sql = "INSERT INTO pessoa (nome, email, telefone, data_nascimento) VALUES "
                + "(?,?,?,?)"; 
        try {
            PreparedStatement stmt = this.conn.prepareStatement(sql);
            stmt.setString  (1, pessoa.getNome());
            stmt.setString  (2, pessoa.getEmail());
            stmt.setString  (3, pessoa.getTelefone());
            stmt.setString  (4, pessoa.getDatanascimento());
            
            stmt.execute();
            stmt.close();
            
           System.out.println ("Salvo com Sucesso");
             
        } catch (Exception ex) {
            System.out.println("Erro ao inserir" + ex);
        }
         return null;
    }

    @Override
    public String excluir(Object obj) {
       
        Pessoa pessoa = (Pessoa) obj;
        String sql = "DELECT FROM pessoa WHERE idPessoa "; 
             
        try {
            PreparedStatement stmt = this.conn.prepareStatement(sql);
            stmt.setInt (1, pessoa.getIdPessoa());
            stmt.execute ();
            stmt.close();
             
           System.out.println ("Removido com Sucesso");
            
        } catch (Exception ex) {
           System.out.println ( "Erro ao deletar Alunno" + ex);
        }
         return null;
    }

    @Override
    public String alterar(Object obj) {
        
        Pessoa pessoa = (Pessoa) obj;
        String sql = "UPDATE pessoa SET nomee=?, email=?, telefone=?, data_nascimento=? WHERE idPessoao=? "; 
        
        try {
            PreparedStatement stmt = this.conn.prepareStatement(sql);
            stmt.setString  (1, pessoa.getNome());
            stmt.setString  (2, pessoa.getEmail());
            stmt.setString  (3, pessoa.getTelefone());
            stmt.setString  (4, pessoa.getDatanascimento());
            stmt.setInt     (5, pessoa.getIdPessoa());
            
            stmt.execute();
            stmt.close();
            
          System.out.println ("Alterado com Sucesso");
            
             
        } catch (Exception ex) {
            System.out.println("Erro ao inserir" + ex);
        }
         String retorno = null;
         return retorno;
    }

    @Override
    public List<Pessoa> listar() {
      
          String sql = "SELECT * FROM pessoa";
       
       try {
           PreparedStatement stmt = this.conn.prepareStatement(sql);
           ResultSet rs = stmt.executeQuery();
           List<Pessoa> listaPessoa = new ArrayList<> ();
           
           while (rs.next()) {
               Pessoa p = new Pessoa ();
        
               p.setIdPessoa(rs.getInt("idPessoa"));
               p.setNome(rs.getString("nome"));
               p.setEmail(rs.getString("email"));
               p.setTelefone(rs.getString ("telefone"));
               p.setDatanascimento(rs.getString("data_nascimento"));
               
          listaPessoa.add(p);

           }
      return listaPessoa;
      
       } catch (Exception ex) {
            System.out.println ( "Erro ao buscar" + ex);
       }
         return null;
    }
}

Primeira coisa é vc tirar os imports da JSP. Usando servlets, eles não são mais necessários.

Sobre apresentar os dados numa tabela em JSP, vc deve usar taglib forEach: https://www.caelum.com.br/apostila-java-web/usando-taglibs#foreach

Para a lista de pessoas que vc está disponibilizando listaPessoa:

<table>
  <c:forEach var="pessoa" items="${listaPessoa}">
    <tr>
      <td>${pessoa.nome}</td>
    </tr>
  </c:forEach>
</table>
1 curtida