Java-апплет будет сохранять файл только локально, а не на сервере? - PullRequest
1 голос
/ 17 октября 2010

У меня есть Java-апплет, который отлично работает локально на моем настольном компьютере.но когда я помещаю его на свой веб-сервер linux, он работает, но функция сохранения файла заключается в сохранении файла во временную папку веб-браузера, а не на веб-сервере.

<applet name="rapplet" type="applet" archive="applets.jar" 
     code="acap.class" codebase="." height="96" width="150"> 
<param name="msg" value="test.snd" />

Ответы [ 3 ]

4 голосов
/ 17 октября 2010

Java-апплет работает в клиентском браузере, а не на сервере, что объясняет, почему вы не можете сохранять файлы на сервер.

3 голосов
/ 17 октября 2010

Вам нужно:

  • серверный код для обработки загрузки файла. Посмотрите на Java-сервлеты и общие файлы-загрузки
  • апплет должен отправлять файлы по HTTP. Вы можете сделать это с Apache HttpClient

Обновление: вы, похоже, упустили точку Java-апплетов - они запускают на клиенте . В браузере это так. Они абсолютно не связаны с серверами. Если вы хотите иметь какую-либо связь с сервером, вам нужен какой-то протокол - это может быть HTTP (как я предлагал), это могут быть простые сокеты или любой другой протокол, который вам подходит.

0 голосов
/ 17 октября 2010

Если апплет на вашем сайте может сохранять байты непосредственно на сервере, то доверенный апплет на сайтах других людей (или во многих других типах приложений) также может сделать это.

Если кто-то был злонамереннымони могут сбросить пару гигабайт на ваш сервер, что приведет к всевозможным проблемам.

По этой причине сервер должен защищать себя от таких атак типа "отказ в обслуживании", и все загрузки должны выполняться черезинтерфейс, который конкретно обеспечивает ваш сервер.Этот интерфейс может, например, проверять размер загрузки и отсутствие вирусов или троянов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...