¿Cómo paso múltiples parámetros en la URL?

Estoy tratando de averiguar cómo pasar varios parámetros en una URL. Quiero pasar la latitud y la longitud de mi clase de Android a un servlet java. ¿Cómo puedo hacer eso?

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);

En este caso, la salida (escrita en el archivo) es28.53438677.472097. Esto está funcionando pero quiero pasar la latitud y la longitud en dos parámetros separados para que se reduzca mi trabajo en el lado del servidor. Si no es posible, ¿cómo puedo al menos agregar un espacio entrelat & lon para que pueda usartokenizer Clase para obtener mi latitud y longitud. Traté de seguir la línea pero fue en vano.

    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

Mi código de servlet es el siguiente:

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();

También quería saber si esta es la forma más segura y segura de pasar los datos del dispositivo Android al servidor.

Respuestas a la pregunta(3)

Su respuesta a la pregunta