Gif "Carregando" enquanto table carrega os dados

Eu preciso que meu servlet gere uma tabela com muitos dados, sem paginação.

Quando tento acessar a pagina, ela demora, e congela. Eu gostaria que isso nao acontecesse.

Eu preciso que enquanto estes dados sao carregados, apareça um gif carregando, e depois que ele forem carregados, os dados aparecem. (tudo isso, sem que a pagina congele, por completa).

Por mais que os dados forem imenso, eu preciso que o usuario consiga interagir com os outros recursos da pagina, sem se preocupar se a table ja carregou ou não.

Por favor, como faço isso?
Seria muito ruim se eu precisasse criar um outro serlvet para enviar estes dados via ajax, porque ao montar a tela, eu ja mando os dados.
Eu só precisava gerenciar tudo isso.

A solução mais simples é, usar o jquery para usar uma div que tampa toda a tela.

O codigo abaixo você coloca em qualquer lugar da pagina.

<div id="loading" style="display: none;">
        <img id="imagemLoader" alt="Processando"  src="/img/ajax-loader.gif" />
        <p id="fraseLoader">Processando, aguarde...</p>
</div>

CSS

/*AJAX-LOADER*/
#loading {
    background: none no-repeat scroll 50% 50% rgba(255, 255, 255, 0.8);
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    text-align: center;
}
#loading #fraseLoader {
    font-size: 25px;
}
#loading #imagemLoader{
    margin-top: 20%;
}
/*AJAX-LOADER*/

e por fim, o Jquery

onclick="$('#loading').show();"