Pessoal, estou estudando JSP e Servlet.
Fiz o método alterar e quando utilizo para alterar um contato no banco ele informa que foi alterado, mas no banco não altera.
Classe AlteraContatoLogic
public class AlteraContatoLogic implements BusinessLogic {
@Override
public void execute(HttpServletRequest req, HttpServletResponse resp)
throws Exception {
System.out.println("Executando a lógica e redirecionando do AlteraContatoLogic");
Contato contato = new Contato();
contato.setId(req.getParameter("id"));
contato.setNome(req.getParameter("nome"));
contato.setEmail(req.getParameter("email"));
contato.setEndereco(req.getParameter("endereco"));
ContatoDAO dao = new ContatoDAO();
dao.altera(contato);
RequestDispatcher rd = req.getRequestDispatcher("/lista-elegante.jsp");
rd.forward(req, resp);
System.out.println("Contato alterado AlteraContatoLogic: " + contato.getNome());
}
}
Classe ContatoDAO Método Altera
public void altera(Contato contato)throws SQLException{
PreparedStatement pstmt = this.con.prepareStatement("update contatos " +
"set nome=?, email=?, endereco=? where id=?");
pstmt.setString(1, contato.getId());
pstmt.setString(2, contato.getNome());
pstmt.setString(3, contato.getEmail());
pstmt.setString(4, contato.getEndereco());
pstmt.execute();
pstmt.close();
}
Classe ControllerServlet
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String business = req.getParameter("business");
String className = "mvc." + business;
try{
Class clazz = Class.forName(className);
BusinessLogic businessLogic = (BusinessLogic)clazz.newInstance();
businessLogic.execute(req, resp);
}
catch (Exception e) {
throw new ServletException("A lógica de negócios causou uma exceção: " + e);
}
}
Atenciosamente.