Para eso tienes que poner en las cabeceras de la respuesta que da tu aplicacion el tipo de mime type que tiene, a ver si te sirve este ejemplo:
Código PHP:
FileInputStream archivo = new FileInputStream(ruta);
int longitud = archivo.available()
byte[] datos = new byte[longitud];
archivo.read(datos);
archivo.close();
response.setContentType("application/octet-stream"); // Con esto no deberia abrirtelo el explorer
response.setHeader("Content-Disposition","attachment;filename="+nombreFichero);
response.write(datos);
response.flush();
response.close();