Con ID me refiero a que no envies directamente el path al fichero por el link, es mejor que envies algo del estilo
ACTION_DE_DESCARGA.do?idfichero=2
haces en el action
request.getParameter("idfichero")
Y obtienes el 2, sabiendo que esa es la ID del fichero vas a algun sitio que con ese 2 te indique el path del fichero. Con una tabla interna, o algo por el estilo
Para escribir el contenido en el response, en el Action haces:
Código PHP:
InputStream contenido; // Contenido del fichero
byte[] aux=new byte[1024];
int count;
OutputStream out=response.getOutputStream();
while((count=contenido.read(aux))!=-1){
out.write(aux, 0, count);
}
out.flush();
out.close();
return null
Saludos