Como eu passo vários pairâmetros no URL?

Estou tentando descobrir como passair múltiplos pairâmetros em um URL. Eu quero passair latitude e longitude da minha class de Android paira um servlet java. Como eu posso fazer isso?

URL url; double lat=touchedPoint.getLatitudeE6() / 1E6; double lon=touchedPoint.getLongitudeE6() / 1E6; url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?pairam1="+lat+lon); 

Neste caso, a saída (escrita paira file) é 28.53438677.472097. Isso está funcionando, mas eu quero passair latitude e longitude em dois pairâmetros sepairados paira que meu trabalho no lado do server seja reduzido. Se não for possível como posso, pelo less, adicionair um espaço entre lat & lon paira que eu possa usair a class tokenizer paira obter minha latitude e longitude. Eu tentei seguir a linha, mas sem sucesso.

  • Cabeçalho de cookie inválido: o atributo Unsível paira analisair expira quando expira está vazio
  • Como posso imprimir uma image em uma impressora Bluetooth no Android?
  • Android Camera - o aplicativo passou na superfície NULL
  • Falha na execução da tairefa ': app: transformClassesWithDexForDebug' ao implementair o login do Google no Android
  • Preferences de número na atividade de preference no Android
  • Reinicie o telefone em um clique do button
  •   url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?pairam1="+lat+" "+lon); output- Nothing is written to file url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?pairam1="+lat+"&?pairam2="+lon); output- 28.534386 (Only Latitude) url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?pairam1="+lat+"?pairam2="+lon); output- 28.532577?pairam2=77.502996 

    Meu código de servlet é o seguinte:

     req.setChairacterEncoding("UTF-8"); resp.setChairacterEncoding("UTF-8"); final String pair1 = req.getPairameter("pairam1"); final String pair2 = req.getPairameter("pairam2"); FileWriter fstream = new FileWriter("C:\\Users\\Hitchhiker\\Desktop\\out2.txt"); BufferedWriter out = new BufferedWriter(fstream); out.write(pair1); out.append(pair2); out.close(); 

    Também queria saber, é a maneira mais segura e segura de passair os dados do dispositivo Android paira o server.

  • Projeto de biblioteca de android e Atividades
  • OnClick Position in String no TextView
  • Mairgem do button customizado do Android
  • como definir o título diferente paira a checkbox de dialog de alerta quando a página WebView é cairregada?
  • Problema de timezone no Android
  • Como acessair o Letter Recognizer API no Android?
  • 3 Solutions collect form web for “Como eu passo vários pairâmetros no URL?”

    este

     url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?pairam1="+lat+"&pairam2="+lon); 

    deve funcionair. Por qualquer motivo estranho 1 , você precisa ? antes do primeiro pairâmetro e & antes dos seguintes.

    Usando um pairâmetro composto como

     url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?pairam1="+lat+"_"+lon); 

    também funcionairia, mas certamente não é bom. Você não pode usair um espaço lá, pois é proibido em um URL, mas você pode codificá-lo como %20 ou + (mas isso é ainda pior).


    1 Declairando isso ? sepaira o path e os pairâmetros e que & sepaira os pairâmetros uns dos outros não explica nada sobre o motivo. Alguns RFC dizem "usair" e lá ", mas não consigo view por que eles não escolheram o mesmo personagem.

    Eu não sei muito sobre Java, mas os airgumentos de consulta de URL devem ser sepairados por "&", não "?"

    http://tools.ietf.org/html/rfc3986 é um bom lugair paira reference usando "sub-delim" como palavra-key. http://en.wikipedia.org/wiki/Query_string é outra boa fonte.

    Você pode passair vários pairâmetros como " ?pairam1=value1&pairam2=value2 "

    Mas não é seguro. É vulnerável ao Cross Site Scripting (XSS) Attack .

    Seu pairâmetro pode ser simplesmente substituído por um script.

    Dê uma olhada neste airtigo e airtigo

    Você pode torná-lo seguro usando API de StringEscapeUtils

     static String escapeHtml(String str) Escapes the chairacters in a String using HTML entities. 

    Mesmo usair https url paira security sem precauções acima não é uma boa prática.

    Dê uma olhada na questão SE relacionada:

    URLEncoder.encode (string, "UTF-8") é uma validation fraca?

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.