Pessoal estou com problemas com o doPost e doGet, pois quando coloco service como note do método, o formulário consegue cadastrar empresa porém quando altero para doPost ele da erro do titulo.
formNovaEmpresa.html
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/gerenciador-marin/novaEmpresa" method="POST">
Nome: <input type="text" name="nome"/>
<input type="submit"/>
</form>
</body>
</html>
Minha classe de novaEmpresaServlet.java:
@WebServlet("/novaEmpresa")
public class NovaEmpresaServlet extends HttpServlet {
public void doPost(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
System.out.println("novaEmpresaServlet foi chamado.");
String nomeDaEmpresa = req.getParameter("nome");
Empresa empresa = new Empresa();
empresa.setNome(nomeDaEmpresa);
Banco banco = new Banco();
banco.adiciona(empresa);
PrintWriter out = res.getWriter();
out.println("<html><body>Empresa "+nomeDaEmpresa+" Cadastrada.</body></html>");
}
}
e o pior de tudo que quando eu coloco service e funciona, para ter certeza eu vou no google chrome e checo o network a chamada ta como POST e mesmo assim da o erro de method, para ter certeza utilizei do Talend API Tester e coloquei como GET para tentar acessar minha tela de acessar lista de empresas e tomo o mesmo erro.
ListaEmpresasServlet:
@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
public void doGet(ServletRequest request, ServletResponse response) throws ServletException, IOException {
Banco banco = new Banco();
List<Empresa> lista = banco.getEmpresas();
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<ul>");
lista.forEach(empresasNome -> out.println("<li>"+empresasNome+"</li>"));
out.println("</ul>");
out.println("</body></html");
}
}