bom galera to com o seguinte problema
to fazendo uma aplicação pra web que cadastra produtos e lista produtos
ta tudo funcionando so q c aperto f5 ele executa o cadastro denovo queria saber c tem como impedir issu
na tabela q exibe os dados cadastrados coloquei um link para exclusao de registros que envia a açao excluir para o servlet controlador
que chama a classe de logica
na classe de logica ele executa a logica criando objeto produto e o dao para executar o drop no banco
depois redireciona para o servlet controlador passando a nova açao no caso listar
porem pelos prints no conssole do ide da pra ver q ele antes de listar os produtos tenta exluir novamente os produtos
controlador
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String acao = request.getParameter("acao");
String nomeDaClasse = "controle."+acao+"Logic";
String url = DEFALT;
try {
Class classe = Class.forName(nomeDaClasse);
Logica logica = (Logica) classe.newInstance();
url = logica.executa(request, response);
request.getRequestDispatcher(url).forward(request, response);
}catch (Exception e) {
throw new ServerException(e.getClass().getName(), e);
}
}
logica
public String executa(HttpServletRequest request, HttpServletResponse response)
throws Exception {
boolean sucesso = false;
String url = "exibelista.jsp";
//pega conecçao do request criada no filtro
Connection conn = (Connection) request.getAttribute("conn");
// pega o array do request q o formulario enviou
String[] list_idproduto = request.getParameterValues("list_idproduto");
// se for uma exclusão em massa executa o loop de exlusões
if(list_idproduto != null){
ProdutoDAO prodDAO = new ProdutoDAO(conn);
for (String i : list_idproduto) {
System.out.println("#### Excluindo id: "+i+"...#####");
//logica normal i = ao idproduto dentro do array
int id = Integer.parseInt(i);
Produto prod = new Produto();
prod.setIdproduto(id);
sucesso = prodDAO.deleteProduto(prod);
System.out.println("#### Exclusao concluida id: "+i+"removido#####");
}
//se nao executa a exclusão unica
}else{
int id = Integer.parseInt(request.getParameter("idproduto"));
Produto prod = new Produto();
prod.setIdproduto(id);
ProdutoDAO prodDAO = new ProdutoDAO(conn);
sucesso = prodDAO.deleteProduto(prod);
}
//verifica se tudo correu bem redireciona de acordo com
//o status de sucesso
if(sucesso){
request.removeAttribute("acao");
request.removeAttribute("Excluir");
request.setAttribute("acao", "Listar");
url = "Controlle?acao=Listar";
}else{
request.removeAttribute("acao");
request.removeAttribute("Excluir");
request.setAttribute("erro", LOG);
url = ERRO;
}
return url;
}