2
respostas

Erro 500

olá estou com um problema no meu código.

package br.com.alura.gerenciador.servlet;

import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/NovaEmpresa")
public class NovaEmpresaServlet extends javax.servlet.http.HttpServlet {

    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("Cadastrando nova empresa");

        String nomeEmpresa = request.getParameter("nome");
        Empresa empresa = new Empresa();
        empresa.setNome(nomeEmpresa);
        
        Banco banco = new Banco();
        banco.adiciona(empresa);
        
       RequestDispatcher rd = request.getRequestDispatcher("/NovaEmpresaCriada.jsp");
       request.setAttribute(empresa, empresa);
       rd.forward(request, response);
    }

}

meu Eclipse não compila na linha do setAttribute. ele pede para eu mudar:

Empresa empresa = new empresa;

para:


String empresa = new empresa;
2 respostas

sem contar que no meu navegador ele imprime o erro 500

Olá Wander, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

O código de status HTML 500, indica que ocorreu algum tipo de problema no servidor que está impedindo a conclusão bem-sucedida da solicitação do cliente. Este comportamento está acontecendo devido a tentativa de adicionar o atributo "empresa" a requisição está ocorrendo de forma errada. Quando estamos utilizando o método setAttribute() devemos passar como primeiro parâmetro uma string e como segundo parâmetro um objeto, neste caso, empresa.getNome(), para ser enviado o nome da empresa para a requisição.

Localize a linha onde ocorre a adição do atributo "empresa" a requisição e declare-a como apresentada abaixo:

request.setAttribute("empresa", empresa.getNome());

Após realizar a mudança, salve o arquivo, reinicie o servidor. Acesse o formulário da aplicação e adicione uma nova empresa e verifique o resultado apresentado.

Gostaria de aproveitar a oportunidade e informar que o curso "Java Servlet: programação web Java" passou por atualizações, ganhando uma nova versão, nesta versão é utilizado a IDE IntelliJ e o framework Spring para criar uma aplicação web utilizando métodos e bibliotecas atualizadas e seguindo os padrões atuais do mercado. Neste curso você aprenderá a criar uma aplicação com Spring Boot, entender como funciona o Maven em uma aplicação Java, implementar um CRUD em uma aplicação Web, entre muitos outros conceitos. Para conhecer este novo curso, basta acessar o seguinte link:

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software