2
respostas

Completando o CRUD - Alterando empresa

Boa tarde, ao fazer os exercícios desta aula para editar dados de empresa, após alterar conteúdo no formAlteraEmpresa.jsp e submeter, ocorre erro HTTP 405 reclamando do método utilizado. Detalhe que comparei meus módulos com os do .zip desta aula e não tem nenhuma diferença no uso do dispatcher ou do redirect. Poderia ajudar?

Obrigado

2 respostas

Oi Ricardo,

Esse erro geralmente indica que o método de solicitação (POST, por exemplo) não é suportado pelo servidor. Como está sua implementação? O seu formAlteraEmpresa.jsp está fazendo um post, correto? Você teria de ter um método doPost() no Servlet

Olá Otávio, o jsp tem post no seu action e o servlet está assim: /** * Servlet implementation class AlteraEmpresaServlet */ @WebServlet("/alteraEmpresa")

public class AlteraEmpresaServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    System.out.println("Alterando empresa...");

    String nomeEmpresa = request.getParameter("nome");
    String dataEmpresa = request.getParameter("data");
    String idEmpresa = request.getParameter("id");
    Integer id = Integer.valueOf(idEmpresa);

    Date openDate = null;

    try {
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        openDate = sdf.parse(dataEmpresa);
    } catch (ParseException e) {
        throw new ServletException(e); 
    }

    System.out.println("Alterando dados da empresa de ID: " + id);

    Banco banco = new Banco();
    Empresa empresa = banco.buscaEmpresaPeloId(id);
    empresa.setNome(nomeEmpresa);
    empresa.setOpenDate(openDate);

    response.sendRedirect("listaEmpresas");
}

}

Obrigado por responder.