Olá, comunidade, tudo certinho?! Então, tudo por aqui parou de funcionar: Acesso http://localhost:8080/gerenciador/listaEmpresas.jsp e não aparece mais nenhuma empresa na lista; Assim, tbm não aparece o remove que eu havia colocado! Cadastro uma nova empresa por aqui http://localhost:8080/gerenciador/formNovaEmpresa.jsp mas quando dou submit dá erro 500:
Alguém ajuda, estou agarrada aqui! Obrigada :)
CLASSE BANCO:
public class Banco {
private static List<Empresa> 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);
}
public void adiciona(Empresa empresa) {
empresa.setId(Banco.chaveSequencial++);
Banco.lista.add(empresa);
}
public List<Empresa> getEmpresas() {
return Banco.lista;
}
}
*FORM NOVA EMPRESA *
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<c:url value="/novaEmpresa" var="linkServletNovaEmpresa"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="${linkServletNovaEmpresa}" method="post">
Nome: <input type="text" name="nome" />
Data de Abertura: <input type="text" name="data" />
<input type="submit" />
</form>
</body>
</html>
** LISTA EMPRESAS.JSP**
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.List, br.com.alura.gerenciador.servlet.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="UTF-8">
<title>Java Standart Taglib</title>
</head>
<body>
<c:if test="${not empty empresa}">
Empresa ${ empresa } cadastrada com sucesso!
</c:if>
Lista de Empresas: <br />
<ul>
<c:forEach items="${empresas}" var="empresa">
<li>${empresa.nome } - <fmt:formatDate value="${empresa.dataAbertura }" pattern="dd/MM/yyyy"/> </li>
<a href="/gerenciador/removeEmpresa?id=${empresa.id}">remove</a>
</c:forEach>
</ul>
</body>
</html>
*LISTA EMPRESAS SERVLET *
@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Banco banco = new Banco();
List<Empresa> lista = banco.getEmpresas();
request.setAttribute("empresas", lista);
RequestDispatcher rd = request.getRequestDispatcher("/listaEmpresas.jsp"); // já sabe para onde ir
rd.forward(request, response);
}
}
*NOVA EMPRESA SERVLET *
@WebServlet("/novaEmpresa")
public class NovaEmpresaServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Cadastrando nova empresa");
String nomeEmpresa = request.getParameter("nome");
String paramDataEmpresa = request.getParameter("data");
Date dataAbertura = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
dataAbertura = sdf.parse(paramDataEmpresa);
} catch (ParseException e) {
throw new ServletException(e);
}
Empresa empresa = new Empresa();
empresa.setNome(nomeEmpresa);
empresa.setDataAbertura(dataAbertura);
//modelo
Banco banco = new Banco();
banco.adiciona(empresa);
//o que o navegador vai mostrar
PrintWriter out = response.getWriter();
out.println("<html><body>Empresa " + nomeEmpresa + " cadastrada com sucesso</body></html>");
response.sendRedirect("listaEmpresas"); //para rediirecionar pelo navegador usamos esse método
request.setAttribute("empresa", empresa.getNome());
}
}
*REMOVE EMPRESAS SERVLET *
@WebServlet("/removeEmpresa")
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);
}
}
RETIREI IMPORTS SÓ PQ NÃO ESTAVA CABENDO AQUI! :))) (Mas acredito que está tudo ok com eles).