Motorola V635 problemas com 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;

    &#125;// fecha o if principal[/code]

CÓDIGO DA MIDLET

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


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

[code] Enviando String url&#58; http&#58;//localhost&#58;8084/Servidor/ServletSAP?command=fazerlogin

 Enviando a String login &#40; a &#41; Conectando com o servidor para buscar login

 Passei no try open data input stream...

 URLwithID&#58; http&#58;//localhost&#58;8084/Servidor/ServletSAP;jsessionid=18E980C4D26AE01E71754FE61478132F

 Url&#58; http&#58;//localhost&#58;8084/Servidor/ServletSAP;jsessionid=18E980C4D26AE01E71754FE61478132F

 String loginResult tem o valor ...vazio

 if loginResult == vazio --&gt; String loginResult tem o valor... vazio

VB&#58; inside JkDeviceStartVibration&#40;&#41;

AMS&#58; AMS_MSG_MESSAGE_SENT, 533903, 302062940

Uncaught exception java/lang/NullPointerException

ALERT&#58; uncaught Exception found