Aprender sozinho pela internet é bem difícil, por isso peço a ajuda de vcs…
To tentando fazer o seguinte: Efetuar a leitura dos dados cadastrados no BD phpmyadmin
através de um servlet e salvar os dados no BD;
NESSE CASO, QUERO DAR SELECT E INSERT.
Tentei fazer com o insert, masn ão sei que tem de errado.
**Esse é meu html pra enviar os dados:**
Tenho todas essas classes funcionando corretamente sem ser no servlet: Contato, ConexaoFaxtory, ContatoDao e ContatoTeste;
O PROBLEMA É QUE EU INSIRO OS DADOS E NÃO ME APARACE A MSG DE ENVIO QUE COLOQUEI NO doPost, E NEM RECEBO OS NOVOS DADOS NO MEU BD; E QUANDO EU CLICO EM CADASTRAR, FICA TUDO BRANCO;
Minha classe Servlet:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import negocio.Contato;
import repositorio.ContatoDao;
/**
-
Servlet implementation class AdicionaContatoServlet
*/
@WebServlet("/cliente") //mudado
public class AdicionaContatoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;/**
-
@see HttpServlet#HttpServlet()
*/
public AdicionaContatoServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
-
@see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
-
@see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stubresponse.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
-
@see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();String nome = request.getParameter(“nome”);
String email = request.getParameter(“email”);
int idade = Integer.parseInt(request.getParameter(“idade”));Contato contato = new Contato();
contato.setNome(nome);
contato.setEmail(email);
contato.setIdade(idade);ContatoDao dao = new ContatoDao();
dao.inserir(contato);
out.println("");
out.println("");
out.println(“Cadastro Realizado com Sucesso!”);
out.println("");
out.println("");response.getWriter().print("Metodo POST enviou o email : " + email);
doGet(request, response);
}
-
@see HttpServlet#HttpServlet()
}
**Minha ContatoDao: **
OBS: ESSA CLASSE FUNCIONA PERFEITAMENTE;
package repositorio;
import java.sql.*;
import java.util.*;
import javax.swing.JOptionPane;
import com.mysql.jdbc.PreparedStatement;
import negocio.Contato;
public class ContatoDao {
private Connection con = null;
public ContatoDao() {
this.con = new ConexaoFactory().getConnection();
}
public void inserir(Contato contato) {
String sql = "INSERT INTO cliente(nome,email,idade) VALUES(?,?,?)";
try {
PreparedStatement stmt = (PreparedStatement) con.prepareStatement(sql);
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setInt(3, contato.getIdade());
stmt.execute();
stmt.close();
JOptionPane.showMessageDialog(null, "Gravado com sucesso!");
}catch (SQLException e) {
//throw new RuntimeException(e);
JOptionPane.showMessageDialog(null, "Erro ao tentar gravar no BD"+e);
}
}//Fim adiciona
public void atualizar(Contato contato) {
String sql = "UPDATE cliente SET nome = ?,email = ?,idade = ? WHERE id = ?";
try {
PreparedStatement stmt = (PreparedStatement) con.prepareStatement(sql);
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setInt(3, contato.getIdade());
stmt.setInt(4, contato.getId());
stmt.executeUpdate();
stmt.close();
JOptionPane.showMessageDialog(null, "Atualizado com sucesso!");
System.out.println("Atualizado com Sucesso!");
}catch (SQLException e) {
//throw new RuntimeException(e);
JOptionPane.showMessageDialog(null, "Erro ao tentar atualizar no BD"+e);
}
}//Fim atualiza
///////////////////////////////
public void excluir(Contato contato) {
String sql = "DELETE FROM cliente WHERE id = ?";
try {
PreparedStatement stmt = (PreparedStatement) con.prepareStatement(sql);
//stmt.setString(1, contato.getNome());
//stmt.setString(2, contato.getEmail());
//stmt.setInt(3, contato.getIdade());
stmt.setInt(1, contato.getId());
stmt.executeUpdate();
stmt.close();
JOptionPane.showMessageDialog(null, "Excluído com sucesso!");
System.out.println("Excluído com Sucesso!");
}catch (SQLException e) {
//throw new RuntimeException(e);
JOptionPane.showMessageDialog(null, "Erro ao tentar excluir dado no BD"+e);
}
}//Fim exclui
public List<Contato> getLista() {
List<Contato> contatos = new ArrayList<Contato>();
String sql = "SELECT * FROM cliente";
try {
PreparedStatement stmt = (PreparedStatement) con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while(rs.next()) {
Contato contato = new Contato();
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setIdade(rs.getInt("idade"));
contato.setId(rs.getInt("id"));
contatos.add(contato);
}
rs.close();
stmt.close();
return contatos;
}catch(SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao dar Select o BD\n"+e);
throw new RuntimeException(e);
}
//return contatos;
}
}//Fim ContatoDao