Fala ai galera!!
To fazendo umas páginas aqui estudando JSP e Servlet, ja fiz uma para adiciona e alterar, agora eu to querendo saber como eu faço para deletar, onde eu tenho uma pagina JSP com todos os dados listados do banco, minha dúvida é como fazer para que o usuário selecione uma linha clique num possível botão de “deletar” e a linha é removida…
Tenho uma classe chamada ControllerServlet, responsável para reconheçer qual classe Servlet está sendo invocada…
Tenho uma classe chamada DeletaContatoServlet que contem toda a lógica de deleção do contato, tenho um arquivo Web.xml onde eu mapeio minha classe ControllerServlet nele, e tenho uma página JSP para listar os contatos do Banco, está tudo certinho de acordo com a apostila da Caelum fj-21 que estou estudando, mas agora que vem a dúvida, como irei fazer para realizar uma remoção da linha da página JSP utilizando essas classes e esse arquivos que tenho ai???
Vou postar todos esses arquivos citados acima!!
Obrigado!!!
CLASSE DAO
[code]package br.com.caelum.agenda.dao;
import java.sql.;
import java.util.;
import br.com.caelum.agenda.modelo.Contato;
import br.com.caelum.jdbc.Conexao;
public class ContatoDAO {
public void deletaContato(Contato contato) throws SQLException
{
Connection conn = Conexao.getConexao();
String sql = "DELETE FROM contatos WHERE idcontato = ?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setInt(1,contato.getIdcontato());
stmt.execute();
stmt.close();
}
}[/code]
SERVLET CONTROLLER
[code]package br.com.caelum.mvc.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.caelum.mvc.logica.Logica;
public class ControllerServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String parametro = request.getParameter("logica");
String nomeDaClasse = "br.com.caelum.mvc.logica." + parametro;
try {
Class classe = Class.forName(nomeDaClasse);
Logica logica = (Logica) classe.newInstance();
logica.executa(request, response);
} catch (ClassNotFoundException e) {
throw new ServletException("A Lógica de negócio causou um execeção!");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[/code]
SERVLET PARA DELETAR O CONTATO
[code]package br.com.caelum.mvc.logica;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.caelum.agenda.dao.ContatoDAO;
import br.com.caelum.agenda.modelo.Contato;
public class DeletaContatoLogic implements Logica {
@Override
public void executa(HttpServletRequest req, HttpServletResponse res)
throws Exception {
Contato cont = new Contato();
ContatoDAO dao = new ContatoDAO();
int id = Integer.parseInt(req.getParameter("id"));
cont.setIdcontato(id);
dao.deletaContato(cont);
RequestDispatcher rd = req.getRequestDispatcher("/lista-contatos-elegante.jsp");
rd.forward(req, res);
}
}
[/code]
PÁGINA JSP QUE CONTEM OS DADOS LISTADOS
[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>
<title>Primeira Página JSP Utilizando JSTL</title>
</head>
<body>
<c:import url=“cabecalho.jsp”></c:import>
<!-- cria o DAO -->
<jsp:useBean id="dao" class="br.com.caelum.agenda.dao.ContatoDAO"/>
<form action="mvc" method="post">
<table>
<!-- percorre contatos montando as linhas da tabela -->
<c:forEach var="contato" items="${dao.lista }">
<tr>
<td>${contato.idcontato}</td>
<td>${contato.nome}</td>
<td>
<c:if test="${not empty contato.email}">
<a href="mailto:${contato.email}">${contato.email}</a>
</c:if>
<c:if test="${ empty contato.email }">
Email Não Confirmado!!!
</c:if>
</td>
<td>${contato.endereco}</td>
</tr>
</c:forEach>
</table>
<input type="hidden" name="logica" value="DeletaContatoLogic"/>
<input type="submit" value="Deletar" />
</form>
<c:import url="rodape.jsp"></c:import>
</body>
</html>[/code]