Quando tento inserir uma nova empresa a partir do Navegador (http://localhost:8080/gerenciador/novaEmpresa) o TomCat retorna o Status 405. Entretanto, chamando a mesma URL pelo Eclipse (Opção Run o Server) funciona perfeitamente. Segue o código abaixo
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/gerenciador/novaEmpresa" method="post">
<label>Nome: </label> <input type="text" name="nome"> <input
type="submit" name="botaoCadastrar">
</form>
</body>
</html>
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 NovaEmpresa */ @WebServlet("/novaEmpresa") public class NovaEmpresa extends HttpServlet { private static final long serialVersionUID = 1L;
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Cadastrando uma nova empresa"); String nomeEmpresa = req.getParameter("nome"); Banco banco = new Banco(); banco.adiciona(new Empresa(nomeEmpresa)); PrintWriter saida = resp.getWriter(); saida.println("<html>"); saida.println("<body>"); saida.println("Nova empresa " + nomeEmpresa + " cadastrada" ); saida.println("</body>"); saida.println("</html>");
} }
package br.com.alura.gerenciador.servlet;
public class Empresa { private Integer id; private String nome;
public Empresa(String nome) {
this.nome = nome;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
package br.com.alura.gerenciador.servlet;
import java.util.ArrayList; import java.util.List;
public class Banco {
private static List<Empresa> lista = new ArrayList<>();
public void adiciona(Empresa umaEmpresa) {
lista.add(umaEmpresa);
}
public List<Empresa> getEmpresas() {
return lista;
}
}