Olá O meu código esta exatamente igual ao do professor, porém quando eu faço a ação aparece o erro 500 em uma das classes, segue o erro na classe "removeEmpresa".
Type Exception Report
Message null
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
java.lang.NumberFormatException: null
java.base/java.lang.Integer.parseInt(Integer.java:614)
java.base/java.lang.Integer.valueOf(Integer.java:983)
br.com.alura.gerenciadorr.acao.RemoveEmpresa.executa(RemoveEmpresa.java:15)
br.com.alura.gerenciadorr.servelet.UnicaEntradaServlet.service(UnicaEntradaServlet.java:31)
javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
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.
A classe "MostraEmpresa" não faz o que deveria e fica em branco.
package br.com.alura.gerenciadorr.acao;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.alura.gerenciador.modelo.Banco;
import br.com.alura.gerenciador.modelo.Empresa;
public class MostraEmpresa {
public void executa(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // exceção
System.out.println("Mostrando dados da empresa");
String paramId = request.getParameter("id");
Integer id = Integer.valueOf(paramId);
Banco banco = new Banco();
Empresa empresa = banco.buscaEmpresa(id);
System.out.println(empresa.getNome());
request.setAttribute("empresa", empresa);//Apelido para o jsp
RequestDispatcher rd = request.getRequestDispatcher("/formAlteraEmpresa.jsp");
rd.forward(request, response);
}
}
Remove empresa
package br.com.alura.gerenciadorr.acao;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.alura.gerenciador.modelo.Banco;
public class RemoveEmpresa {
public void executa(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // exceção
System.out.println("Removendo empresa");
String paramID = request.getParameter("id");
Integer id = Integer.valueOf(paramID);
Banco banco = new Banco();
banco.removeId(id);
response.sendRedirect("listaEmpresas");
}
}
Unica entrada servlet
package br.com.alura.gerenciadorr.servelet;
import java.io.IOException;
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 br.com.alura.gerenciadorr.acao.ListaEmpresas;
import br.com.alura.gerenciadorr.acao.MostraEmpresa;
import br.com.alura.gerenciadorr.acao.RemoveEmpresa;
@WebServlet("/entrada")
public class UnicaEntradaServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String paramAcao = request.getParameter("acao");
if (paramAcao.equals("listaEmpresas")) {
ListaEmpresas acao = new ListaEmpresas();
acao.executa(request, response);
}
else if(paramAcao.equals("removeEmpresa")) {
RemoveEmpresa remove = new RemoveEmpresa();
remove.executa(request, response);
}
else if(paramAcao.equals("mostraEmpresaServlet")) {
MostraEmpresa mostra = new MostraEmpresa();
mostra.executa(request, response);
}
}
}
lista empresa jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import = "java.util.List" %>
<%@ page import = "br.com.alura.gerenciador.modelo.Empresa"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix = "fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Lista de empresas<br/>
<c:if test="${not empty empresa}">
Empresa ${ empresa } cadastrada com sucesso!
</c:if>
<ul>
<c:forEach items="${ empresas }" var="empresa">
<li>
${empresa.nome} <fmt:formatDate value="${empresa.dataAbertura }" pattern="dd/MM/yyyy"/>
<a href="/gerenciadorr/entrada?acao=mostraEmpresa&id=${empresa.id}" > Edit </a>
<a href="/gerenciadorr/entrada?acao=removeEmpresa&id${empresa.id}" > Remove </a>
</li>
</c:forEach>
</ul>
</body>
</html>