reescrita de URL no gerenciamento de sessão com JME
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
Curtidas 0