Estou seguindo as atividades do treinamento Servlet Parte 1: Aula 3 (Listando Empresas com Servlets).
Se eu preencho o FORM e envio o nome da empresa, ele não aparece no servlet listaEmpresas... O listaEmpresas só funciona quando eu coloco STATIC na class BANCO forçando assim o cadastro das empresas.
Mas seguindo o passo a passo "iniciando pelo form", não aparece e/ou adiciona a nova empresa no listaEmpresas.
formNovaEmpresa.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/gerenciador/novaEmpresa" method="post">
Nome: <input type="text" name="nome" />
<input type="submit" />
</form>
</body>
</html>
NovaEmpresaServlet.java
package br.com.alura.gerenciador.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class NovaEmpresaServlet
*/
@WebServlet("/novaEmpresa")
public class NovaEmpresaServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse
* response) Opção para forçar o SERVICE a receber apenas POST ou GET...
* alterar para "doPost" protected void service(HttpServletRequest request,
* HttpServletResponse response) throws ServletException, IOException {
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Cadastrando Nova Empresa ");
String nomeEmpresa = request.getParameter("nome");
Empresa empresa = new Empresa();
empresa.setNome(nomeEmpresa);
PrintWriter out = response.getWriter();
out.println("<html><body>Empresa" + nomeEmpresa + " Cadastrada com Sucesso</body></html>");
System.out.println("recebido do FORM " + nomeEmpresa);
}
}
ListaEmpresaServlet.java
package br.com.alura.gerenciador.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ListaEmpresasServlet
*/
@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Banco banco = new Banco();
List<Empresa> lista = banco.getEmpresas();
PrintWriter out = response.getWriter();
out.println("<html><body><ul>");
for (Empresa empresa : lista) {
out.println("<li>" + empresa.getNome() + "</li>");
}
out.println("</ul></body></hmtl>");
}
}
Banco.java
package br.com.alura.gerenciador.servlet;
import java.util.ArrayList;
import java.util.List;
public class Banco {
private static List<Empresa> lista = new ArrayList<>();
/**
* Teste com STATIC para forçar o retorno.
*/
static {
Empresa empresa = new Empresa();
empresa.setNome("Alura");
Empresa empresa2 = new Empresa();
empresa2.setNome("Caelum");
lista.add(empresa);
lista.add(empresa2);
}
public void adiciona(Empresa empresa) {
Banco.lista.add(empresa);
}
public List<Empresa> getEmpresas(){
return Banco.lista;
}
}
Empresa.java
package br.com.alura.gerenciador.servlet;
public class Empresa{
private Integer id;
private String nome;
public Integer getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}