Ja quebrei a cabeça, mas não consigo achar o erro, meu código está exatamente igual ao do professor Nico, segue o código:
Além disso minhas duas empresas estão com o id totalmente errados, eu consigo clicar no link de remoção da primeira empresa, porém o id dela está como 2, em vez de 1 igual ao do professor. e o Erro explode na segunda empresa e o id fica vazio na url desta empresa.
RemoveEmpresaServlet:
public class RemoveEmpresaServlet extends HttpServlet { private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String paramId = request.getParameter("id");
Integer id = Integer.valueOf(paramId);
System.out.println(id);
Banco:
private static List lista = new ArrayList(); private static Integer chaveSequencial = 1;
static {
Empresa empresa = new Empresa();
empresa.setId(chaveSequencial++);
empresa.setNome("Alura");
Empresa empresa2 = new Empresa();
empresa.setId(chaveSequencial++);
empresa2.setNome("Caelum");
lista.add(empresa);
lista.add(empresa2);
}
Empresa:
private Integer id; private String nome; private Date dataAbertura = new Date();
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
Erro que dá:
Type Exception Report
Message For input string: ""
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
java.lang.NumberFormatException: For input string: "" java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) java.base/java.lang.Integer.parseInt(Integer.java:662) java.base/java.lang.Integer.valueOf(Integer.java:983) br.com.alura.gerenciador.servlet.RemoveEmpresaServlet.doGet(RemoveEmpresaServlet.java:17) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Note The full stack trace of the root cause is available in the server logs.