Gente
estou estudando jsp, servlets, e como prática estou tentando inserir dados no mysql, no entanto nao estou conseguindo, vou postar as classes:
package model;
public class Cadastro {
private int codigo;
private String nome;
private String email;
private String endereco;
private String cpf;
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
}
package dao;
import java.util.List;
import model.Cadastro;
public interface CadastroDAO {
public void inserirCadastro(Cadastro cadastro);
public List<Cadastro> listarTodos();
}
package dao;
import java.sql.Connection;
public class FabricaDeConexao {
private java.sql.Connection con;
public Connection fazConexao() {
try {
Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("conectando");
con = java.sql.DriverManager.getConnection(
"jdbc:mysql://localhost:3306/lab", "root", "123");
System.out.println("conectado");
} catch (Exception e) {
e.printStackTrace();
throw new java.lang.RuntimeException("erro ao conectar");
}
return con;
}
public void fecharConexao() {
try {
con.close();
} catch (Exception e) {
e.printStackTrace();
throw new java.lang.RuntimeException("erro ao fechar conectar");
}
}
}
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import model.Cadastro;
public class JDBCCadastroDAO implements CadastroDAO {
Connection con;
public JDBCCadastroDAO(Connection con) {
this.con = con;
}
public void inserirCadastro(Cadastro cadastro) {
String comando = "INSERT INTO agenda (codigo,nome,email,endereco,cpf) values (?,?,?,?,?)";
PreparedStatement p;
try {
p = this.con.prepareStatement(comando);
p.setInt(1, cadastro.getCodigo());
p.setString(2, cadastro.getNome());
p.setString(3, cadastro.getEmail());
p.setString(4, cadastro.getEndereco());
p.setString(5, cadastro.getCpf());
p.execute();
} catch (SQLException e) {
e.getMessage();
}
}
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
String nome = request.getParameter("nome");
String email = request.getParameter("email");
String endereco = request.getParameter("endereco");
String cpf = request.getParameter("cpf");
Cadastro c = new Cadastro();
c.setNome(nome);
c.setEmail(email);
c.setEndereco(endereco);
c.setCpf(cpf);
FabricaDeConexao fabrica = new FabricaDeConexao();
Connection con = fabrica.fazConexao();
JDBCCadastroDAO dao = new JDBCCadastroDAO(con);
dao.inserirCadastro(c);
}
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<%@page import="model.Cadastro" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cadastro de Clientes</title>
</head>
<body>
<form method="post" action="InserirCadastro">
nome:<input type=text name=nome size="20"><br>
endereco:<input type=text name=endereco size="20"><br>
email:<input type=text name=email size="20"><br>
cpf:<input type=text name=cpf size="20"><br>
<input type="submit" value="Tem que funfar" />
</body>
</html>
Agradeço a ajuda,