Ao realizar um cadastro no sistema se eu atualizar a página ele cadastra a mesma informação

Ao realizar um cadastro no sistema se eu atualizar
a página ele cadastra a mesma informação novamente com
um id diferente, fiz um sistema de cadastro em java web
usando JSP ele está cadastrando certinho os dados porém
ao fazer um cadastro e apertar f5 ele grava o mesmo dado
novamente com outro ID , alguém pode me ajudar ?

Após o cadastro, vc deve está fazendo um forward para outra página. Tente fazer um redirect (response.sendRedirect) após o cadastro, que deve resolver.

Cheguei a fazer o teste com o ( response.sendRedirect ), mas não posso usar ele porque estou passando parametros no meu RequestDispacher e sem ele outras funcionalidades não funciona acho que vou ter que criar um metodo no java que resolva isso, porém tenho que descobrir qual.

Tem como mandar a declaração do form da sua jsp? E no seu servlet, o código que processo o form está no doGet ou doPost?

Veja como solucionar:

JSP

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
</head>

<body>
	<p>${msg}</p>
	<form action="postRedirectGetServlet" method="post">
		<button>Enviar</button>
	</form>
</body>
</html>

Servlet

@WebServlet("/postRedirectGetServlet")
public class PostRedirectGetServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// Nessa parte, vc pega o ID do usuário criado e obtém os dados do mesmo no banco para apresentar na tela, se necessário
		String idRegistroCadastrado = request.getParameter("idRegistroCadastrado");
		request.setAttribute("msg", "Usuário criado com o ID: " + idRegistroCadastrado);
		request.getRequestDispatcher("cadastro.jsp").forward(request, response);
	}

	/*
	 * Esse doPost é responsável por criar o registro no sistema
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int idRegistroCadastrado = 1; // aqui processa o cadastro e obtém o ID criado no banco
		
		// Fazendo assim, vai retornar para a página de cadastro e, se o usuário atualizar a página, vai reexecutar o submit do form
		// **Descomente esse forward e comente o redirect para testar**
		//request.setAttribute("msg", "OK");
		//request.getRequestDispatcher("cadastro.jsp").forward(request, response);
		
		// Dessa outra forma, o redirecionamento será feito para esse mesmo servlet, 
		// porém, caíndo no doGet que irá enviar para a página de cadastro.
		// Só que se o usuário atualizar a página, o form não será reenviado, pois houve um redirect no meio da operação
		response.sendRedirect("postRedirectGetServlet?idRegistroCadastrado=" + idRegistroCadastrado);
	}
}

FONTE: https://en.wikipedia.org/wiki/Post/Redirect/Get

Sim estou enviando minha Servlet, para você dar uma olhada
estou utilizando nos formularios apenas o method POST,
porem na minha Servlet estou usando o post e get para passar parametros, porém consegui resolver utilizando um metodo que não deixa eu inserir nomes que já existe cadastrado

package servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import beans.VisitanteBean;
import daos.CadastrarVisitanteDao;

@WebServlet("/pages/VisitanteServlet")
public class VisitanteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public VisitanteServlet() {
    super();
   
}


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
	try {

		// PARAMETROS PARA REALIZAR AÇÕES DE ELETAR ATUALIZAR E EXCLUIR E PESQUISAR
		CadastrarVisitanteDao dao = new CadastrarVisitanteDao();
		String acao = request.getParameter("acao");
		String usuario = request.getParameter("usuario");

		if (acao.equalsIgnoreCase("deletar")) {

			dao.deletarVisitante(usuario);

			RequestDispatcher dispatcher = request.getRequestDispatcher("cadastrovisitante.jsp");
			request.setAttribute("visitantes", dao.listarVisitante());
			dispatcher.forward(request, response);

		} else if (acao.equalsIgnoreCase("listartodos")) {

			dao.listarVisitante();

			RequestDispatcher dispatcher = request.getRequestDispatcher("cadastrovisitante.jsp");
			request.setAttribute("visitantes", dao.listarVisitante());
			dispatcher.forward(request, response);

		} else if (acao.equalsIgnoreCase("editar")) {

			VisitanteBean visitante = dao.consultarAtualizarVisitante(usuario);

			RequestDispatcher dispatcher = request.getRequestDispatcher("cadastrovisitante.jsp");
			request.setAttribute("usuario", visitante);
			dispatcher.forward(request, response);
		}

	} catch (Exception e) {
		e.printStackTrace();
	}

}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	

	try {

		// AQUI COMEÇA O CÓDIGO PARA IMPLEMENTAR O METODO DE SALVAR VISITANTE ATUALIZAR E VALIDAR

		String id = request.getParameter("id");
		String nome = request.getParameter("nome");
		String cpf = request.getParameter("cpf");
		String rg = request.getParameter("rg");
		String telefone = request.getParameter("telefone");
		String datetime = request.getParameter("datetime");
		String destino = request.getParameter("destino");
		String motivo = request.getParameter("motivo");
		String foto = request.getParameter("foto");
		String typefoto = request.getParameter("typefoto");

		CadastrarVisitanteDao dao = new CadastrarVisitanteDao();
		VisitanteBean visitante = new VisitanteBean();
		
		
		visitante.setId(!id.isEmpty() ? Long.parseLong(id) : 0);
		visitante.setNome(nome);
		visitante.setCpf(cpf);
		visitante.setRg(rg);
		visitante.setTelefone(telefone);
		visitante.setDatetime(datetime);
		visitante.setDestino(destino);
		visitante.setMotivo(motivo);
		visitante.setFoto(foto);
		visitante.setTypefoto(typefoto);
		

		if (id == null || id.isEmpty() && dao.consultarVisitanteRepetido(cpf) ) {

			dao.cadastrarVisitante(visitante);

		} else {

			dao.atualizarVisitante(visitante);

			
		}

		// AQUI TERMINA O CÓDIGO PARA IMPLEMENTAR O METODO DE SALVAR VISITANTE ATUALIZAR E VALIDAR
	}

	catch (Exception e) {
		e.printStackTrace();
	}

	// AQUI COMEÇA O CÓDIGO PARA VISUALIZAR OS VISITANTES CADASTRADOS
	try {
		CadastrarVisitanteDao dao = new CadastrarVisitanteDao();

		RequestDispatcher view = request.getRequestDispatcher("cadastrovisitante.jsp");

		request.setAttribute("visitantes", dao.listarVisitante());

		view.forward(request, response);

	} catch (Exception e) {
		e.printStackTrace();
	}

	// AQUI TERMINA O CÓDIGO PARA VISUALIZAR OS VISITANTES CADASTRADOS

}

}