pessoal, estou inicinando em desenvolvimento web, e pra começar iniciei com um crud simples baseado em servlet.
tenho meu javaBean, DAO, connecção, e minhas servlet.
para salvar ele salva muito bem no banco.
o problema esta no momento em que eu quero alterar o conteudo.
para isso criei um index.jsp que chama a servlet de alteração com os campos de edição.
no momento de alterar a action chama a servlet que faz esta alteração.
na teoria eh interessante, porem na pratica nao funciona.
alguem poderia me ajudar???
<table>
<%
ContatoDAO dao = new ContatoDAO();
List<Contato> contatos = dao.getList();
for (Contato contato : contatos) {
%>
<tr>
<td><%=contato.getId() %></td>
<td><%=contato.getNome()%></td>
<td><%=contato.getCpf()%></td>
<td><a href="AlterarExibirContatoServlet?codigo=<%=contato.getId() %>">alterar</a></td>
<td><a href="deleta-contato.jsp?codigo=<%=contato.getId() %>">deletar</a></td>
</tr>
<%
}
%>
</table>
Classe DAO método
public void altera(Contato contato) {
String sql = "update contato set nome=?, cpf=? where id=?";
try {
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getCpf());
stmt.setLong(3, contato.getId());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
} }
a servlet com os campos para alterar o conteudo
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter pw = response.getWriter();
pw.print("<body>");
pw.print("<form action=\"aleraContato\" method=\"get\">");
pw.print("Nome: <input type=\"text\" name=\"nome\" /><br />");
pw.print("Cpf: <input type=\"text\" name=\"cpf\" /><br />");
pw.print("<a href=\"index.jsp\" title=\"Volta para a página inicial\">voltar</a> ");
pw.print("<input type=\"submit\" value=\"Alterar\" />");
pw.print("</form>");
pw.print("</body>");
}
//servlet que chama a conecção passando as alterações feitas
Long id = Long.parseLong(request.getParameter("id"));
String nome = request.getParameter("nome");
String cpf = request.getParameter("cpf");
Contato contato2 = new Contato();
contato2.setId(id);
contato2.setNome(nome);
contato2.setCpf(cpf);
ContatoDAO dao;
try {
dao = new ContatoDAO();
dao.altera(contato2);
} catch (SQLException e) {
throw new RuntimeException();
}
out.println("<body>");
out.println("Contato " + contato2.getNome() + " alterado com sucesso");
out.println("<pre><a href=\"index.jsp;\">Voltar</a></pre>");
out.println("</body>");
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
this.service(request, response);
}