2
respostas

Fiz uma classe Teste com o metodo main, porém não exibe nenhuma mensagem no console.

package br.com.alura.gerenciador.servlet;

import java.util.List;

public class Teste {

    public static void main(String[] args) {

        System.out.println("Teste");

        Banco banco = new Banco();

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

        for (Empresa empresa : lista) {

            System.out.println(empresa.getNome());

        }

    }

}

Nenhuma mensagem é exibida no console, tanto "System.out.println(empresa.getNome());" quanto "System.out.println("Teste");". Utilizo o Tomcat, não sei se interfere.

2 respostas

Oi Wellington, tudo bem com você?

É isso mesmo, isso acontece (ou melhor, não acontece) pois você está tentando executar o código em um Servidor (ou Servlet Container), que no nosso caso é o Tomcat. O main() que é chamado nesse caso, é um main() que está presente no Tomcat, e não na nossa aplicação!

Só relembrando um pouquinho, lá no começo desse curso, na aula onde o Nico fala um pouco sobre Servlets. Logo no começo do vídeo, chamamos o Tomcat de método main, isso porque assim que iniciamos o Tomcat, algo muito parecido com o método main() que conhecemos (porém mais complexo) é chamado para que possamos, posteriormente, chamar os Servlets e executar os métodos apropriados (como o service, doGet(), doPost e etc). Claro, como o Nico disse, mais para frente será abordado esse "método main()" do servidor Tomcat, então pode ficar tranquilo.

Espero ter esclarecido um pouco esse assunto. Inclusive, se você executar o programa como uma aplicação Java (Alt + Shift + X, J) ela funcionará perfeitamente, já que agora estamos chamando o main() da aplicação mesmo!

Espero ter ajudado, qualquer dúvida é só avisar!

Bons estudos!!

Thiago, entendi perfeitamente sua explicação. Porém, a classe "Teste" informada no código acima, eu executo como uma aplicação java (Alt + Shift + X, J) e não pelo servidor. O console simplesmente fica em branco ao executar a classe. Até tentei mudar a perspectiva do eclipse, mas não era isso.

Desde já obrigado..