![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Goliath |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 1.3.2005 Репутация: нет Всего: 5 |
Мне поставили вот такое задание:
Цель: создать средство загрузки больших файлов (2М - 100М) на сервер. Технологии: Java 2 SDK 1.4.x, JSP, Servlets. App Server: Tomcat 5.0.28 Browsers: IE 6, Mozilla 1.7 Описание: Для решения задачи требуется создать апплет, который бы читал файл с локального диска пользователя и передавал на сервер по частям. На сервере должен работать сервлет, который принимает части файла и записывает его на диск сервера. Апплет для каждого кусочка файла должен формировать контрольную сумму, а сервлет – проверять переданные данные на соответствие контрольной сумме. Если кусочек файла передан неправильно (не совпали контрольные суммы) - он должен быть передан еще раз. Данные должны передаваться через HTTP. Также нужно проверить передачу через HTTP прокси. Use Case: 1. Пользователь выбирает файл и нажимает на кнопку «Submit». 2. После этого на новую форму передается путь к файлу на локальном диске пользователя и загружается апплет для передачи файла. 3. Загруженный апплет показывает прогресс загрузки (прямоугольник заполняется по мере передачи частей файла), размер переданной части файла, предполагаемое время загрузки. 4. После окончания загрузки должен произойти переход на другую страничку. В данном задание меня смущает часть которая связана с апплетами. Подскажите, что с этим делать --------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 2 Всего: 118 |
А что именно смущает в апплете ? И это в разделе "Апплеты" лучше спрашивать.
|
|||
|
||||
| Goliath |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 1.3.2005 Репутация: нет Всего: 5 |
Не могу реализовать upload апплетом следовательно не могу разбить на кусочки и передать все это дело сервлету
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 2 Всего: 118 |
Не понял.
Если ты хочешь закачивать с помощью апплета файл на любой сервер, то тебе надо реализовать две вещи: 1. Разрешить апплету считывать файлы на той машине, которая его загрузила. 2. Разрешить апплету коннектится с любым сервером, на который ты хочешь грузить файлы. 3. Надо на тех серверах, на которые ты хочешь грузить файлы установит софт, который умеет принимать файлы. Пункты 1 и 2 надо делать либо меняя политику, либо (что наверно правильнее) подписывать свои апплеты (об этом у нас есть в FAQ статья). Подписи в апплетах. И была какая-то библиотека загрузки файлов - надо поискать. Так и называлась FileUploadLib. |
|||
|
||||
| Goliath |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 1.3.2005 Репутация: нет Всего: 5 |
Я конечно могу показаться наглым, но можно какой-то мини примерчик или ссылачку на него?
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] |
|||
|
||||
| Goliath |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 1.3.2005 Репутация: нет Всего: 5 |
У меня еще проблема и с: «Апплет для каждого кусочка файла должен формировать контрольную сумму, а сервлет – проверять переданные данные на соответствие контрольной сумме. Если кусочек файла передан неправильно (не совпали контрольные суммы) - он должен быть передан еще раз.». Я так понимаю что апплет должен получать ответ от сервлета. То есть это получается, что между ними должно быть беспрерывное соединение? Если да то как это реализовать.
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] |
|||
|
||||
| Souljah |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.12.2004 Репутация: нет Всего: 7 |
апплет передает серверу файл и сумму как параметры post-запроса и считывает ответ сервера, который говорит все ли в порядке. обычный http запрос, постоянно держать соединение не надо
|
|||
|
||||
| NetLord |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 25.2.2005 Репутация: нет Всего: нет |
В чем прчина использования апплета?
Это громоздко. Почему бы ни использовать стандартные средства HTML multipart/form-data для отправки на сервер. Для приема на сервере библиотека File Upload |
|||
|
||||
| Goliath |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 1.3.2005 Репутация: нет Всего: 5 |
>>>апплет передает серверу файл и сумму как параметры post-запроса и считывает ответ сервера, который говорит все ли в порядке. обычный http запрос, постоянно держать соединение не надо
Но мне нужно отправлять файл по кусочкам. Мне нужно его разбивать в апплета на мелкие кусочки по метра два и отправлять. Если все нормально отправлять следующий кусочек и так до тех пор, пока все кусочки ОДНОГО ФАЙЛА не будут отправлены серверу. И вопрос в том, как это реализовать? --------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Я так понял мне ни кто не поможет
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 2 Всего: 118 |
Полный пример здесь писать никто не будет - это работа не на один час. А посмотреть как сокет открыть на сервере и на клиенте - можно найти легко.
Тебе всю процедуру расписали - в апплете открыть сокет на тот серве с которого он запущен. Дать апплету разрешение для чтения фалов (это можно в FAQ посмотреть). А дальше считываем файл, пихаем его в поток для сокета. А сервер это тихонечко считывает и складывает. И все. Начни писать что-нибудь и задавай конкретные вопросы. Не обижайся, просто здесь надо потратить немало времени, а у многих его нет. Добавлено @ 12:03 Если ты хочешь с помощью HTTP это отправлять оп кусочкам, то насколько я знаю обычный WWW-сервер такому не обучен. Да и HTTP это делать не умеет. А значит надо писать что-то свое на стороне сервера. |
|||
|
||||
| Goliath |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 1.3.2005 Репутация: нет Всего: 5 |
Большое спасибо за советы
--------------------
Наша жизнь растрачивается на мелочи… Упрощайте, упрощайте. [Генри Торо] |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Апплеты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |