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;
}
}