如何在URL中传递多个参数?
如何在URL中传递多个参数?
我正在尝试弄清楚如何在URL中传递多个参数。我想要将经纬度从我的android类传递到一个java servlet。我应该如何做呢?
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); 输出- 没有写入文件 url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+"&?param2="+lon); 输出- 28.534386(只有纬度) url = new URL("http://10.0.2.2:8080/HelloServlet/PDRS?param1="+lat+"?param2="+lon); 输出- 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设备到服务器传递数据的最安全可靠的方法。