Como tratar mais de uma requisição em JME com servlet

Oi
Boa noite
Estou fazendo meu TCC sobre JME
Estou tendo grandes dificuldades em lidar com o envio e recebimento de dados com HTTP/SERVLET.
Primeiramente eu preciso logar no sistema (através do banco de dados/servlet).
Em seguida é necessário fazer uma busca no banco de dados (como se fosse uma agenda online)
Até agora a única coisa q consegui fazer foi o login.
O problema é que preciso manter a “conexão Http aberta”, ou seja, aquela mensagem para conectar na web só deve aparecer uma vez para o usuário.
Querendo implementar a busca após estar logada no sistema percebi q não seria tão simples assim…
Mesmo pq a servlet possui um único método post e na midlet eu só conecto uma vez na internet, então como enviar os dados que virão depois e como recebe-los???

Aqui está o código q fiz para o login… preciso muito que me ajude, tenho só mais um mês… estou aprendendo JME agora o meu tempo é um pouco curto… ficaria grata, muito grata mesmo com o seu auxilio, estou um pouco desesperada, pq já tentei fazer várias coisas pra isso dar certo e infelizmente não estou conseguindo.

Abraços

–> código midlet:

   private class ThreadHttpConnection extends Thread{
        public String url = "http://localhost:8080/Http/HttpServer";
        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);
                os = http.openDataOutputStream();
                os.writeUTF(login.trim());
                System.out.println("conectando com o servidor");
            } catch (IOException ex) {
                showAlert(ex.getMessage());
                ex.printStackTrace();
            }
            try
            {
                is = http.openDataInputStream();
                loginResult = is.readUTF();
                senhaResult = is.readUTF();
                alertResult.setTimeout(Alert.FOREVER);
                getDisplay().setCurrent(alertResult, get_formEscolha());
                getDisplay().vibrate(3000);
                os.close();
                is.close();
                http.close();
            }
            catch (IOException ex) {
                showAlert(ex.getMessage());
                ex.printStackTrace();
            } 
        }
    }

–> código servlet

package br.com.web;

import java.io.*;

import java.net.*;

import java.sql.*;


import javax.servlet.*;

import javax.servlet.http.*;

import br.com.web.FabricaConex;


public class HttpServer extends HttpServlet {


private String sqla = "select * from usuario where login =?";


//ResultSet para exibir retirar o resultado da consulta com o banco

private ResultSet rs;


//PreparedStatemente para executar a consulta no banco de dados

private PreparedStatement ps;


//Connection para realizar a conexão com banco de dados

private Connection con;


// Strings para captar os resultados da consulta do banco de dados

private String loginResult;

private String senhaResult;



private DataInputStream in = null;


private DataOutputStream os = null;


public void init(){


}


public HttpServer() throws SQLException{

con = FabricaConex.getConnection();

}


/* protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();



out.close();

}*/


//Get

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//doPost(request,response);

}


//Post

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

in = new DataInputStream((InputStream)request.getInputStream());

os = new DataOutputStream((OutputStream)response.getOutputStream());

String login = in.readUTF();

System.out.println("Nome recebido: "+login);




try {


// prepara a Statement

ps = this.con.prepareStatement(sqla);


// seta o valor ? da String sql

ps.setString(1,login);


// executa a Query de busca

rs = ps.executeQuery();


while(rs.next()){


// imprime no console o resultado da pesquisa

System.out.println("Senha:"+rs.getString("senha")+"| Login:"+rs.getString("login"));


// salva nas variáveis o resultado da pesquisa

loginResult =""+rs.getString("login");

senhaResult = rs.getString("senha");


}

} catch (Exception ex) {

System.out.println(ex.getMessage());

ex.printStackTrace();

}

response.setContentType("text/plain");


os.writeUTF(loginResult.trim());

os.writeUTF(senhaResult.trim());

in.close();

os.close();

os.flush();

}


public String getServletInfo() {

return "Short description";

}


}


“Se alguém permanece em Cristo é uma nova criatura” [code]