V635... problemas no tratamento de null

Pessoal boa noite a todos
estou utilizando o meu celular pra testar minha aplicação de TCC (Monografia)
o problema é o seguinte:

no simulador, td acontece bonitinho, mas no celular…
tipo, vou fazer o login, se o login existe no banco de dados, beleza
mas se o login não existe no banco de dados, o meu celular encerra a aplicação, pq da um Uncaught exception java/lang/NullPointerException MAS o engraçado é q eu to tratando disso ai no servlet e no midlet e ñ adianta

estou postando o código pra qm puder m ajudar
valeu
[color=darkred]
CÓDIGO DO SERVLET[/color]

[code]
else if ( ( “fazerlogin” ).equals( command ) ) {
// try principal
try {
// obtém informações da sessão
HttpSession session = request.getSession( true );
System.out.println( "\n Session… " + session );
// se for uma sessão nova, reescreva o URL do cliente
if ( session.isNew() ) {
// obtém o URL
String incomingURL = request.getRequestURL().toString();
System.out.println( "\n incomingURL… " + incomingURL );
// codifica e adiciona o ID de sessão no URL
String URLwithID = response.encodeURL(incomingURL);
System.out.println( "\n URLwithID… " + URLwithID );
// devolve um cabeçalho para o cliente, com o novo URL
response.setHeader( “Custom-newURL”, URLwithID );
System.out.println( "\n URLwithID… " + URLwithID );
}// fecha o if
// lê a string login que vem do cliente
String login = dis.readUTF();
// escreve no console a string login que veio do cliente
System.out.println( "\n String login recebida… " + login );
ps = this.con.prepareStatement(sqla);
System.out.println( "\n prepare statement… " + sqla );
ps.setString( 1, login );
System.out.println( "\n String login para consulta… " + login );
rs = ps.executeQuery();
System.out.println( "\n ps… " + ps );
if ( login != null) {
System.out.println( “\n if login < > null --> String login tem o valor… " + login );
while ( rs.next() ) {
System.out.println( “\n Entrei no while” );
// imprime no console o resultado da busca
System.out.println(”| Login: " + rs.getString(“login”) + " | Senha: " + rs.getString(“senha”));
// salva nas variáveis o resultado da pesquisa
loginResult = rs.getString(“login”);
senhaResult = “” + rs.getString(“senha”);
}// fecha o while
if ( ( loginResult ).equals( login ) ) {
System.out.println( "\n if loginResult < > null --> String loginResult tem o valor… " + loginResult );
// retorna para o cliente o resultado da busca
response.setContentType(“text/plain”);
dos.writeUTF(loginResult);
dos.writeUTF(senhaResult);
System.out.println( "| Enviando loginResult: " + loginResult + " | Enviando senhaResult: " + senhaResult );
dos.flush(); // força o envio para o cliente
dis.close(); // fecha a entrada de dados
dos.close(); // fecha a saída de dados
} else if ( loginResult != login ) {
System.out.println( "\n if loginResult == null --> String loginResult tem o valor… " + loginResult );
// retorna para o cliente o resultado da busca
response.setContentType(“text/plain”);
loginResult = “vazio”;
senhaResult = “vazio”;
dos.writeUTF(loginResult);
dos.writeUTF(senhaResult);
System.out.println( "| Enviando loginResult: " + loginResult + " | Enviando senhaResult: " + senhaResult );
dos.flush(); // força o envio para o cliente
dis.close(); // fecha a entrada de dados
dos.close(); // fecha a saída de dados
}
}
}
//abre o catch principal
catch (Exception ex) {
// imprime no console
System.out.println( “\n Passei no catch principal” );
System.out.println( "\n Foi encontrado o seguinte erro… " + ex.getMessage());
//ex.printStackTrace();
}// fecha o catch principal
loginResult = null;
senhaResult = null;

    }// fecha o if principal[/code]

CÓDIGO DA MIDLET

private class ThreadHttpConnection extends Thread{
        public String url = "http://localhost:8084/Servidor/ServletSAP?command=fazerlogin";
        public void run() {
            HttpConnection http = null;
            try {
                http = (HttpConnection)Connector.open(url, Connector.READ_WRITE);
                http.setRequestProperty("User-Agent", "Profile/MIDP-2.0 , Configuration/CLDC-1.0");
                http.setRequestProperty("Content-Language", "en-US");
                http.setRequestMethod(HttpConnection.POST);
                dos = http.openDataOutputStream();
                dos.writeUTF(login.trim());
                dos.flush();
                System.out.println( "\n Enviando String url: " + url );
                System.out.println( "\n Enviando a String login ( " + login + " ) Conectando com o servidor para buscar login " );
            } catch (IOException ex) {
                System.out.println( "\n Passei no catch Envia ao Servidor..." + ex.toString() + " \n " );
                showAlert( " \n Foi encontrado o seguinte erro...\n" + ex.getMessage() + " \n " );
                getDisplay().setCurrent(get_alert1(), get_formPrincipal());
                //ex.printStackTrace();
            }
            try {
                dis = http.openDataInputStream();
                System.out.println( "\n Passei no try open data input stream..." );
            } catch (IOException ex) {
                System.out.println( "\n Passei no catch open data input stream..." + ex.toString() + " \n " );
                //ex.printStackTrace();
            }
            try {
                String URLwithID = http.getHeaderField("Custom-newURL");
                System.out.println( "\n URLwithID: "  + URLwithID );
                //se o cabeçalho possui um URL reescrito, então:
                if(URLwithID != null) {
                    url = URLwithID; //atualiza o URL para todos os pedidos futuros da servlet
                    System.out.println( "\n Url: "  + url );
                }
            } catch (IOException ex) {
                System.out.println( "\n Passei no catch Reescrita de URL..." + ex.toString() + " \n " );
                showAlert( " \n Foi encontrado o seguinte erro...\n" + ex.getMessage() + " \n " );
                getDisplay().setCurrent(get_alert1(), get_formPrincipal());
                //ex.printStackTrace();
            }
            try {
                loginResult = dis.readUTF();
                System.out.println( "\n String loginResult tem o valor ..." + loginResult );
                if ( ( "vazio" ).equals( loginResult )){
                    System.out.println( "\n if loginResult == vazio --> String loginResult tem o valor... " + loginResult );
                    showAlert( "\n  \n");
                    getDisplay().setCurrent(get_alert1(), get_formPrincipal());
                } else if ( loginResult != "vazio") {
                    try {
                        System.out.println( "\n if loginResult != vazio --> String loginResult tem o valor... " + loginResult );
                        //loginResult = dis.readUTF();
                        senhaResult = dis.readUTF();
                        System.out.println( "\n senhaResult recebido : "  + senhaResult + " | loginResult recebido: " + loginResult + "\n");
                        alertResult = new Alert( "\n Seja Bem Vindo(a):\n ","\n Bem Vindo(a): \n " + loginResult, null, AlertType.CONFIRMATION) ;
                        alertResult.setTimeout(Alert.FOREVER);
                        getDisplay().setCurrent(alertResult, get_formEscolha());
                        getDisplay().vibrate(1000);
                        dos.close();
                        dis.close();
                        http.close();
                    } catch (IOException ex) {
                        System.out.println( "\n Passei no catch recebe do servidor..." + ex.toString() );
                    }
                }
            } catch (IOException ex) {
                System.out.println( "\n Passei no catch login result..." + ex.toString() );
                //ex.printStackTrace();
            }
            
        }
    }[/code]


Para Facilitar, estou pondo a saída do midlet
[u]
[b]SAÍDA DO MIDELT NO MIDWAY[/b][/u]

[code] Enviando String url: http://localhost:8084/Servidor/ServletSAP?command=fazerlogin

 Enviando a String login ( a ) Conectando com o servidor para buscar login

 Passei no try open data input stream...

 URLwithID: http://localhost:8084/Servidor/ServletSAP;jsessionid=18E980C4D26AE01E71754FE61478132F

 Url: http://localhost:8084/Servidor/ServletSAP;jsessionid=18E980C4D26AE01E71754FE61478132F

 String loginResult tem o valor ...vazio

 if loginResult == vazio --> String loginResult tem o valor... vazio

VB: inside JkDeviceStartVibration()

AMS: AMS_MSG_MESSAGE_SENT, 533903, 302062940

Uncaught exception java/lang/NullPointerException

ALERT: uncaught Exception found