Fórum reescrita de URL no gerenciamento de sessão com JME #18765
04/10/2007
0
oi pessoal estou tendo um problema um pouco grave
enqto faço uma busca no banco de dados pela servlet com dados que existam no banco de dados, o envio e o retorno de informações procede de forma normal
porém quando eu digito um dado que não existe no banco de dados, ao invés da servlet retornar uma mensagem de erro para a midlet, ela está retornando a última pesquisa realizada...
estou utilizando reescrita de url para gerenciar a sessão
alguem poderia me ajudar por favor
obrigada
[b:53f1403604]PEDAÇO DO CÓDIGO DA SERVLET:[/b:53f1403604]
PEDAÇO DO CÓDIGO DA MIDLET:
enqto faço uma busca no banco de dados pela servlet com dados que existam no banco de dados, o envio e o retorno de informações procede de forma normal
porém quando eu digito um dado que não existe no banco de dados, ao invés da servlet retornar uma mensagem de erro para a midlet, ela está retornando a última pesquisa realizada...
estou utilizando reescrita de url para gerenciar a sessão
alguem poderia me ajudar por favor
obrigada
[b:53f1403604]PEDAÇO DO CÓDIGO DA SERVLET:[/b:53f1403604]
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
dis = new DataInputStream((InputStream) request.getInputStream());
dos = new DataOutputStream((OutputStream) response.getOutputStream());
String command = request.getParameter("command");
System.out.println("String command:" + command);
try {
// obtém informações da sessão
HttpSession session = request.getSession(true);
// se for uma sessão nova, precisamos reescrever o URL do
// cliente
if (session.isNew()) {
// obtém o URL que nos trouxe aqui
String incomingURL = request.getRequestURL().toString();
// escreve no console o nome da string URL que chegou
System.out.println("String incomingURL:" + incomingURL);
// Codifica, adicionando o ID de sessão no URL
String URLwithID = response.encodeURL(incomingURL);
// Devolve um cabeçalho para o cliente, com o novo URL
// reescrito
response.setHeader("Custom-newURL", URLwithID);
// escreve no console a string q será retornada para o
// cliente
System.out.println("String URL:" + URLwithID);
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
System.out.println("Passei no bloco try/catch do URL");
}
if (command.equals("consultarplaca")) {
String placa = dis.readUTF();
System.out.println("String placa: " + placa);
try {
ps = this.con.prepareStatement(sqlb);
ps.setString(1, placa);
rs = ps.executeQuery();
try {
while (rs.next()) {
System.out.println("Placa:" + rs.getString("placa")
+ "| Chassi:" + rs.getString("chassi")
+ "| MarcaModelo:"
+ rs.getString("marcaModelo")
+ "| Proprietário:"
+ rs.getString("proprietario") + "| Cidade:"
+ rs.getString("cidade") + "| Estado:"
+ rs.getString("estado") + "| Cor:"
+ rs.getString("cor") + "| Espécie Tipo:"
+ rs.getString("especieTipo")
+ "| Combustível:"
+ rs.getString("combustivel")
+ "| Ano Modelo Fabricação:"
+ rs.getString("anoModFab") + "| Situacao:"
+ rs.getString("situacao"));
chassiResult = "" + rs.getString("chassi");
placaResult = rs.getString("placa");
mmResult = rs.getString("marcaModelo");
propResult = rs.getString("proprietario");
cityResult = rs.getString("cidade");
ufResult = rs.getString("estado");
corResult = rs.getString("cor");
esTpResult = rs.getString("especieTipo");
combResult = rs.getString("combustivel");
amfResult = rs.getString("anoModFab");
situResult = rs.getString("situacao");
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
System.out.println("Passei no bloco try/catch interno da busca da placa");
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
System.out.println("Passei no bloco try/catch externo da busca da placa");
}
try {
response.setContentType("text/plain");
dos.writeUTF(placaResult);
dos.writeUTF(chassiResult);
dos.writeUTF(mmResult);
dos.writeUTF(propResult);
dos.writeUTF(cityResult);
dos.writeUTF(ufResult);
dos.writeUTF(corResult);
dos.writeUTF(esTpResult);
dos.writeUTF(combResult);
dos.writeUTF(amfResult);
dos.writeUTF(situResult);
dis.close();
dos.close();
dos.flush();
} catch (Exception ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
System.out.println("Passei no bloco try/catch do retorno da placa");
}
}PEDAÇO DO CÓDIGO DA MIDLET:
private class ThreadChassi extends Thread{
public String url = "http://localhost:8080/Http/HttpServer?command=consultarchassi";
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(chassi.trim());
os.flush();
System.out.println("conectando com o servidor para buscar chassi");
System.out.println("Enviando a String: " + chassi);
} catch (IOException ex) {
showAlert(ex.getMessage());
ex.printStackTrace();
}
try {
is = http.openDataInputStream();
String URLwithID = http.getHeaderField("Custom-newURL");
if(URLwithID != null) {
url = URLwithID;
}
placaResult = is.readUTF();
chassiResult = is.readUTF();
mmResult = is.readUTF();
propResult = is.readUTF();
cityResult = is.readUTF();
ufResult = is.readUTF();
corResult = is.readUTF();
esTpResult = is.readUTF();
amfResult = is.readUTF();
combResult = is.readUTF();
situResult = is.readUTF();
alertResult = new Alert("Resultado da Busca:",
"Placa: "+placaResult+
"\nChassi: "+chassiResult+
"\nMarcaModelo: "+mmResult+
"\nProprietario: "+propResult+
"\nCidade: "+cityResult+
"\nEstado: "+ufResult+
"\nCor: "+corResult+
"\nEspécie Tipo: "+esTpResult+
"\nAno Marca Modelo: "+amfResult+
"\nCombustível: "+combResult+
"\nSituação: "+situResult, null, AlertType.CONFIRMATION);
System.out.println("Retornou da servlet: " + placaResult + chassiResult + mmResult + propResult + cityResult + ufResult + corResult + amfResult + combResult + situResult);
alertResult.setTimeout(Alert.FOREVER);
getDisplay().setCurrent(alertResult, get_formEscolha());
getDisplay().vibrate(1000);
os.close();
is.close();
http.close();
} catch (IOException ex) {
showAlert(ex.getMessage());
ex.printStackTrace();
}
}
}Cissagatto
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)