我想弄清楚如何在URL中传递多个参数。我想将我的android类的经度和纬度传递给一个java servlet。我怎样才能做到这一点?如何在URL中传递多个参数?
URL url;
double lat=touchedPoint.getLatitudeE6()/1E6;
double lon=touchedPoint.getLongitudeE6()/1E6;
url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+lon);
在这种情况下,输出(写入文件)是28.53438677.472097。 这是行得通的,但我想在两个单独的参数中传递经度和纬度,这样我在服务器端的工作就减少了。如果这是不可能的,我怎么能至少增加一个lat & lon之间的空间,以便我可以使用tokenizer类来获取我的经纬度。我尝试了下面的路线,但无济于事。
url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+" "+lon);
output- Nothing is written to file
url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+"&?param2="+lon);
output- 28.534386 (Only Latitude)
url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+"?param2="+lon);
output- 28.532577?param2=77.502996
我的servlet代码如下:
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
final String par1 = req.getParameter("param1");
final String par2 = req.getParameter("param2");
FileWriter fstream = new FileWriter("C:\\Users\\Hitchhiker\\Desktop\\out2.txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write(par1);
out.append(par2);
out.close();
此外,我想就知道这是将数据传递从Android设备到服务器的最安全和最安全的方式。
应该是'&param2',而不是'param2' – xandy