Quando eu clico no botão enviar depois de alterado nome e data ou invés de alterar ele está criando uma nova linha com o nome e data que eu queria alterar. Já revisei tudo e não encontrei o problema.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Quando eu clico no botão enviar depois de alterado nome e data ou invés de alterar ele está criando uma nova linha com o nome e data que eu queria alterar. Já revisei tudo e não encontrei o problema.
Bom dia Paulo
você consegue colocar o codigo para que eu possa verificar?
package br.com.alura.gerenciador.servlet;
import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
@WebServlet("/alteraEmpresa") public class AlteraEmpresaServlet extends HttpServlet { private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Alterando empresa");
String nomeEmpresa = request.getParameter("nome");
String paramDataEmpresa = request.getParameter("data");
String paramId = request.getParameter("id");
Integer id = Integer.valueOf(paramId);
Date dataAbertura = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
dataAbertura = sdf.parse(paramDataEmpresa);
} catch (ParseException e) {
e.printStackTrace();
throw new ServletException(e);
}
System.out.println(id);
Banco banco = new Banco();
Empresa empresa = banco.buscaEmpresaPeloId(id);
empresa.setNome(nomeEmpresa);
empresa.setDataAbertura(dataAbertura);
response.sendRedirect("listaEmpresas");
}}
Pra ele estar alterando, provavelmente o problema esta no annotation errado, que ao invés de estar chamado esse servlet de alterar, está chamando servlet que inclui uma nova empresa na lista. revisa novamente seu código.