O que ocorreu é o seguinte:
Eu tenho uma classe que sabe adicionar mensagens ao banco de dados.
Esta classe é responsável por estabelecer uma conexão com o banco de dados e executar os procedimentos SQL para inclusão, edição e remoção das mensagens.
Utilizei o método de uma única instância (construtor privado e uma função estática para pegar a referência ao objeto).
O scriptlet fica mais ou menos assim:
<%
Message msg = new Message();
MainClass mc = MainClass.getInstance(); // obtém/cria instância
// atribui valores da mensagem //
...
//
mc.add(msg);
%>
O erro mostrado pelo container é o de que foi feita uma referência à um ponteiro nulo (ocorreu o erro ao se chamar o construtor da classe MainClass). A classe MainClass tenta estabelecer uma conexão ao banco de dados no seu construtor, aí onde falha (unavailable database).
O que me incomoda é que eu consigo utilizar este mesmo trecho de código utilizado no scriptlet em uma aplicação.
Estou tentando fazer algo como aplicações em camadas, utilizar scriptlets de forma abstrata (ou mesmo não usa-los, conforme aprendo tags personalisadas).
Até mais cara, espero ter deixado o plano limpo para que você (ou qualquer outro usuário do forum) possa me ajudar.
Valeu!