allora, ammesso che le soluzioni javascript per gestire cose del genere non vanno bene (se ho javascript disattivato casca l'asino), quello che potresti fare è:

- scrivere (come mi pare tu stia già facendo)/utilizzare uno scriptlet Java (JSP / Servlet) che forzi il download del file in questione (c'è un botto di roba anche qui sul forum): importante forzare il download perché altrimenti certi browser (e dipende anche dalla configurazione dell'utente, cosa su cui non puoi mettere le mani) tenterebbero di aprire il file piuttosto che offrirne il download.

- usare un iframe nascosto (anche di 1px) verso cui indirizzare l'output dello scriptlet. L'iframe nascosto è lecito, non utilizza javascript per cui funziona anche con javascript disattivato e proprio perché nascosto non lascia tracce (finestrelle bianche e quant'altro). L'iframe lo puoi nominare come faresti con una finestra di popup ed indirizzare nel target di un form...