2015-02-22 2 views
0

Сценарий похож: у меня есть страница, на которой при отправке номера файла клиенту предоставляется ссылка для загрузки файла. Но я не знаю, как написать один сервлет, который решит, какой файл отправить клиенту. Это должно произойти при нажатии ссылки, поэтому я не могу отправлять параметры, которые могут помочь мне определить, какой файл загрузить.servlet - выбор файла для загрузки при нажатии ссылки

Пожалуйста, помогите.

+0

a) Почему вы нажимаете на ссылку, которую вы не можете отправлять параметрам? б) Как вы напишете метод без сервлета, который решает, какой файл будет служить? – h7r

+0

a) да, мы можем отправлять параметры, но я знаю, что: P b) Я использую сервлет, чтобы решить, какой файл отправить –

+0

о b) вопрос: если вы проигнорируете, что это сервлет, как бы Вы делаете это? решить эту проблему, а остальное связано с привязкой к сервлету. – h7r

ответ

1
  1. вы отправляете номер файла;
  2. вы создаете ссылку на основе этого номера файла (это ссылка для GET. GET может иметь параметры, поэтому вы можете поместить параметры в путь URL или в строку запроса);
  3. пользователь щелкает ссылку;
  4. ссылка обрабатывается сервлетом;
  5. сервлет использует параметры из запроса GET, чтобы определить, какой файл отправить;
  6. вы отправляете содержимое этого файла в ответ.

Это шаги.

Вот пример на блоге BalusC в: http://balusc.blogspot.ro/2007/07/fileservlet.html

Что вам нужно заботиться о является безопасность:

  • не подвергать файл непосредственно в пути на сервере в противном случае пользователи могут перемещаться по путь доступа к другим файлам в вашем приложении;
  • Если пользователи вашего приложения имеют разные права, убедитесь, что вы проверяете эти права перед возвратом файла, чтобы пользователь не мог получить доступ к чужим файлам.
Смежные вопросы