Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre a instância da classe Banco.

Bom dia, estou com uma dúvida em relação a instância da classe banco. No arquivo "NovaEmpresaServlet.java" e instanciada uma classe do tipo Banco e o objeto que aponta para essa instância de classe não é passado através do rd.forward:

    Empresa empresa = new Empresa();
    empresa.setNome(nomeEmpresa);
    empresa.setDataAbertura(dataAbertura);

    Banco banco = new Banco();
    banco.adiciona(empresa);

    RequestDispatcher rd = request.getRequestDispatcher("/listaEmpresas");
    request.setAttribute("empresa", empresa.getNome());
    rd.forward(request, response);

Já no arquivo "ListaEmpresasServlet.java" é instanciada uma novo objeto da classe Banco:

     Banco banco = new Banco();
    List<Empresa> lista = banco.getEmpresas();

A variável "lista" passa a apontar para o atributo listaEmpresas da classe banco. E posteriormente a variável "lista" e "despachada" para o arquivo "listaEmpresas.jsp":

    RequestDispatcher rd = request.getRequestDispatcher("/listaEmpresas.jsp");
    request.setAttribute("empresas", lista);
    rd.forward(request, response);

A minha dúvida é a seguinte, se eu tenho duas instâncias da classe banco, e a minha empresa é adiconada através do objeto da classe Banco do primeiro arquivo, mas a lista que é passada para a página "listaEmpresas.jsp" pertence a instância da classe banco do segundo arquivo, como a empresa adicionada no objeto do primeiro arquivo é listada na página listaEmpresas.jsp se a lista que essa página recebe pertence a outra instância que não é a primeira? Creio que isso é possível pois o atributo "listaEmpresas" da classe "Banco" é estático, mas gostaria de uma confirmação.

2 respostas
solução!

Boa tarde, Paulo! Como vai?

Creio que isso é possível pois o atributo "listaEmpresas" da classe "Banco" é estático

Se o atributo é estático então é realmente esse o motivo! Vc está correto!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Obrigado.