Pessoal, estou começando a desenvolver em MVC sem uso de Frameworks e estou tendo problemas ao Incluir um novo registro no BD.
Tenho a página que LISTA todos os registros, nela tenho um link INCLUIR que chama o formulário de cadastro na mesma página por AJAX. Ao GRAVAR o action do form chama meu ACTUnidade.do (abaixo) e lá após gravar o registro eu redireciono para minha LISTA novamente. Até ai tudo bem, mas se eu der REFRESH na página ele duplica o registro que acabei de cadastrar.
Como posso controlar isso para que ele não duplique ??
package biblioteca.act;
import java.sql.SQLException;
import java.util.ArrayList;
import biblioteca.dao.DAOUnidade;
import biblioteca.vo.VOUnidade;
public class ACTUnidade extends ServletGenerico{
/**
*
*/
private static final long serialVersionUID = 1L;
public void controle()throws SQLException, Exception{
String retorno = "";
String metodo = "";
String tipo_form = "";
String id_unidade = "";
String descricao = "";
VOUnidade vo = new VOUnidade();
DAOUnidade dao = new DAOUnidade();
ArrayList array = new ArrayList();
if(request.getParameter("tipo") != null){
tipo_form = request.getParameter("tipo");
if(tipo_form.equals("incluir")){
retorno = "/cadastros/unidade/formulario.jsp";
request.setAttribute("tipo", tipo_form);
}else if(tipo_form.equals("editar")){
id_unidade = request.getParameter("id_unidade");
vo.setId_unidade(id_unidade);
array = dao.pegaUnidade(vo);
retorno = "/cadastros/unidade/formulario.jsp";
request.setAttribute("unidade", array);
request.setAttribute("tipo", tipo_form);
}
}else{
if(request.getParameter("metodo") != null){
metodo = request.getParameter("metodo");
id_unidade = request.getParameter("id_unidade");
descricao = request.getParameter("descricao");
vo.setId_unidade(id_unidade);
vo.setDescricao(descricao);
if(metodo.equals("GravarNovo")){
dao.inserirUnidade(vo);
metodo = "sucesso";
}else if(metodo.equals("GravarAlterado")){
dao.alterarUnidade(vo);
metodo = "sucesso";
}else if(metodo.equals("Excluir")){
dao.deletarUnidade(vo);
metodo = "sucesso";
}
}else{
array = dao.listarUnidades(vo);
retorno = "/cadastros/unidade/index.jsp";
request.setAttribute("unidades", array);
}
}
if(metodo.equals("sucesso")){
array = dao.listarUnidades(vo);
retorno = "/cadastros/unidade/index.jsp";
request.setAttribute("unidades", array);
}
redireciona(retorno);
}
}