Ваша программа не является настольной/автономной, так как это сервлет, запущенный на сервере. Когда вы запустите его в Eclipse, щелкнув правой кнопкой мыши и run as
->run on server
, Eclipse фактически открывает веб-страницу для отображения результатов. Поэтому ваша программа теперь является веб-приложением, а Eclipse (или открываемая страница) является клиентом . Клиент сохраняет информацию, которую вы отправили, а не свою программу. Понял?
Заголовок content-disposition
есть только, чтобы предложить имя файла для загрузки. Настройки браузера определяют, откроет ли он Сохранить как Окно или нет. Вы не можете это контролировать.
Например, в Google Chrome, в Setting
/Advanced Setting
/Downloads
, есть вариант Ask where to save each file before downloading
. Только если этот параметр выбран, он откроет нужное диалоговое окно. В противном случае он сохранит его в местоположении по умолчанию (также определенное в настройках браузера). Аналогичные варианты существуют для всех браузеров.
Пожалуйста, обратите внимание, что в зависимости от заголовка content-type
, браузер попытается дисплей содержание, а не скачать его. Например, браузер попытается отобразить тексты и html. Но тогда вы можете силой загрузки, установив заголовок в не отображаемым типа:
response.setContentType("application/octet-stream");
В случае, если вы не хотите, чтобы создать веб-приложение: Так как программа работает на сервере , он просто отправляет информацию и выполняется. Это программа , которая решает, что с ней делать. В данном случае клиент является браузером (или Eclipse открывает страницу браузера). Заголовки, такие как заголовок content-disposition
, предназначены для браузеров. Если вы хотите создать своего клиента (клиент Swing, приложение для Android, приложение для iPhone), который НЕ является браузером, тогда клиент получит информацию с сервера и решит, что с ним делать (отобразить его или сохранить в любом путь), даже игнорируя заголовки HTTP.
Я считаю, что это на стороне сервера. Вы пытаетесь распространить событие сервера на стороне клиента. – christopher
Взгляните на: http://stackoverflow.com/questions/3802510/force-to-open-save-as-popup-open-at-text-link-click-for-pdf-in-html и http: //stackoverflow.com/questions/2226192/generate-some-xml-in-javascript-prompt-user-to-save-it С уважением –
@ DaniloMuñoz: AS fas, так как я вижу, что два сценария разные, мои ... но спасибо за беспокойство –