Applet to Applet+Servlet
От: Passer  
Дата: 09.08.05 11:31
Оценка:
есть апплет который на прямую обрашается к базе... его надо перевести на апплет+севлетную основу с минимальными изменениями...
какие есть предложение..
мои предположения: это просто добавить объект который будет связыватся с сервлетом и передавать ему CQl запрос. и получив ответ состовлять из нето обьект который будет иметь все использованные в апплете свойства и методы ResultSet -а.
(интересно можноли обойтись без создание этого обьекта. например сериализировать ResultSet передпть его апплету. и десериализировать)
Re: Applet to Applet+Servlet
От: Blazkowicz Россия  
Дата: 09.08.05 12:11
Оценка: 5 (1)
Здравствуйте, Passer, Вы писали:

P>есть апплет который на прямую обрашается к базе... его надо перевести на апплет+севлетную основу с минимальными изменениями...

P>какие есть предложение..
P>мои предположения: это просто добавить объект который будет связыватся с сервлетом и передавать ему CQl запрос. и получив ответ состовлять из нето обьект который будет иметь все использованные в апплете свойства и методы ResultSet -а.
P>(интересно можноли обойтись без создание этого обьекта. например сериализировать ResultSet передпть его апплету. и десериализировать)

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

То есть смысл в том что нужно минимизировать количество данных и обращеений между апплетом и серверром. Из этого и надо исходить.

В твоём же решении наблюдается желание как сделать побыстрее и чтобы кода поменьше. Какой тогда смысл в сервере?
Re[2]: Applet to Applet+Servlet
От: Passer  
Дата: 09.08.05 12:51
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

апплетная часть проги не делает особо сложных операций так что перехад на Applet+Servlet не для уменьшения нагрузки. просто нужен апплет который отовсюду сможет открыватся и очень переносимый. так. что при использовании просто апплета ПК пользователя не позволит ему(апплету) обрашатся к файлам. а не все пользователи смогут настроить policy. вторая причина это на случай смены пероля к бызе или местонахождения базы апплетнужно будет перекомпилить с новыми параметрами или эти параметры передавать как
<param name=ConnectionString value="//127.0.0.1:3306/db?user=root&password=123456">
что недопустимо с точки зрения безопасности. вот оснавные причины.
а теперь о методах
Re[3]: Applet to Applet+Servlet
От: Blazkowicz Россия  
Дата: 09.08.05 13:19
Оценка:
Здравствуйте, Passer, Вы писали:

P>апплетная часть проги не делает особо сложных операций так что перехад на Applet+Servlet не для уменьшения нагрузки. просто нужен апплет который отовсюду сможет открыватся и очень переносимый. так. что при использовании просто апплета ПК пользователя не позволит ему(апплету) обрашатся к файлам. а не все пользователи смогут настроить policy.

Какая связь между файлами и работой с БД через сервлет?

P>вторая причина это на случай смены пероля к бызе или местонахождения базы апплетнужно будет перекомпилить с новыми параметрами или эти параметры передавать как

P><param name=ConnectionString value="//127.0.0.1:3306/db?user=root&password=123456">
P>что недопустимо с точки зрения безопасности. вот оснавные причины.
Ну параметры к примеру и сервлет мог бы отдать. Единственное что апплет не смог бы обратится к базе на другом хосте.

P>а теперь о методах

ResultSet тебе сериализовать вряд ли удастся. Если в апплете у тебя всё просто, почему бу сервлетом не отдавать подготовленные данные апплету?
Re[4]: Applet to Applet+Servlet
От: Аноним  
Дата: 09.08.05 13:37
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Какая связь между файлами и работой с БД через сервлет?

так пользователю позволяется загружать данные в базу с файла.

P>>а теперь о методах

B>Если в апплете у тебя всё просто, почему бу сервлетом не отдавать подготовленные данные апплету?
там все совсем не просто. там все фонкции не требуюшие больших ресурсов... но этих функший тьма. просто куча...

B>ResultSet тебе сериализовать вряд ли удастся.

тогда может кто нить знает компоненту вроде Memory Table(думаю по имени понятно для чего он)
Re[3]: Applet to Applet+Servlet
От: Аноним  
Дата: 09.08.05 13:39
Оценка: 1 (1)
Здравствуйте, Passer, Вы писали:

P>что недопустимо с точки зрения безопасности. вот оснавные причины.


С точки зрения безопасности также нехорошо и SQL запрос с апплета посылать. А посылать надо команду с параметрами. Сервлет (или соответствующий бин) составит на основании параметров запрос в базу. Потом из ResultSet надо вынуть данные, положить их в обьект и отослать его апплету. Обьект можно положить в кеш для следующих запросов, если это имеет смысл.
Re[3]: Applet to Applet+Servlet
От: dshe  
Дата: 10.08.05 07:32
Оценка:
Здравствуйте, Passer, Вы писали:

P>Здравствуйте, Blazkowicz, Вы писали:


P>...вторая причина это на случай смены пероля к бызе или местонахождения базы апплетнужно будет перекомпилить с новыми параметрами или эти параметры передавать как

P><param name=ConnectionString value="//127.0.0.1:3306/db?user=root&password=123456">
P>что недопустимо с точки зрения безопасности. вот оснавные причины.

с точки зрения безопасности, "прозрачный" сервлет не очень то ее (безопасность) повышает, поскольку через него теперь можно выполнять все опасные действия не заботясь ни о пароле, ни об имени пользователя, ни о хосте.
--
Дмитро
Re[4]: Applet to Applet+Servlet
От: Аноним  
Дата: 10.08.05 08:01
Оценка:
Здравствуйте, dshe, Вы писали:

D>с точки зрения безопасности, "прозрачный" сервлет не очень то ее (безопасность) повышает, поскольку через него теперь можно выполнять все опасные действия не заботясь ни о пароле, ни об имени пользователя, ни о хосте.


ну не предпологаетсяже создание обсалютно прозрачный сервлет. сервлет будет выполнять запросы с логином и паролем который введет пользователь в апплет.
и будет выполнять только опраделенные sql запросы. (вписывание данных в непозволительную таблицу или попытка удаление таблицы будут игнорироватся)
Re: Applet to Applet+Servlet
От: Winnie the Bear Россия  
Дата: 11.08.05 08:45
Оценка:
Здравствуйте, Passer, Вы писали:

P>есть апплет который на прямую обрашается к базе... его надо перевести на апплет+севлетную основу с минимальными изменениями...

P>какие есть предложение..
P>мои предположения: это просто добавить объект который будет связыватся с сервлетом и передавать ему CQl запрос. и получив ответ состовлять из нето обьект который будет иметь все использованные в апплете свойства и методы ResultSet -а.
P>(интересно можноли обойтись без создание этого обьекта. например сериализировать ResultSet передпть его апплету. и десериализировать)

Хорошо бы сначала сформулировать задачу. Вопросы Blazkowicz'а мне подсказывают,
что вы этого не сделали.

Передавать в апплет ResultSet не целесообразно, все равно ResultSet подгружает сразу все данные кроме BLOB.
Если нужны и блобы — придется делать загрузку полей порциями, не так все просто.
Иначе — получить запрос в сервлете (не SQL), фильтры, выполнить соответствующий запрос к БД,
загрузить все данные в Vector и отправить в Response.
Vector замечательно сериализуется, тут все будет просто.
Re[2]: Applet to Applet+Servlet
От: Passer  
Дата: 12.08.05 09:23
Оценка: :)
Здравствуйте, Winnie the Bear, Вы писали:

WTB>загрузить все данные в Vector и отправить в Response.

WTB>Vector замечательно сериализуется, тут все будет просто.

вот я сделал так... в результате когда запрос выдает очень большой результат сервлет начал давать ошибку (out of memory).
вот я увеличил место в памяти выеденное под tomcat. все заработало.
сейчас мне интересно а сможетли апплет принять данные такого большого размера.

как можно опраделить память выделяемую под апплет??????????
Re[3]: Applet to Applet+Servlet
От: Blazkowicz Россия  
Дата: 12.08.05 09:28
Оценка:
Здравствуйте, Passer, Вы писали:

P>вот я сделал так... в результате когда запрос выдает очень большой результат сервлет начал давать ошибку (out of memory).

P>вот я увеличил место в памяти выеденное под tomcat. все заработало.
P>сейчас мне интересно а сможетли апплет принять данные такого большого размера.

P>как можно опраделить память выделяемую под апплет??????????


Понимаешь ли, для запроса всегда найдется такая табличка, что все данные в память не поместятся. Хочешь чтобы у пользователя твой апплет создавал своп на пару гигабайт?
Re[4]: Applet to Applet+Servlet
От: Passer  
Дата: 12.08.05 09:39
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Понимаешь ли, для запроса всегда найдется такая табличка, что все данные в память не поместятся. Хочешь чтобы у пользователя твой апплет создавал своп на пару гигабайт?


скажем так.. если это будет необходимо пусть. тем более не думаю что будут запросы более чем на 10-15 мегабайт
Re[3]: Applet to Applet+Servlet
От: Winnie the Bear Россия  
Дата: 12.08.05 10:16
Оценка:
P>вот я сделал так... в результате когда запрос выдает очень большой результат сервлет начал давать ошибку (out of memory).
P>вот я увеличил место в памяти выеденное под tomcat. все заработало.
P>сейчас мне интересно а сможетли апплет принять данные такого большого размера.
Тут 2 варианта: передавать все сразу или передавать частями.
Первый проще, зато второй всегда работает.

P>как можно опраделить память выделяемую под апплет??????????

Мой апплет без всяких настроек кушает 40Мб%)
Re[4]: Applet to Applet+Servlet
От: Passer  
Дата: 12.08.05 11:57
Оценка:
Здравствуйте, Winnie the Bear, Вы писали:

P>>как можно опраделить память выделяемую под апплет??????????

WTB>Мой апплет без всяких настроек кушает 40Мб%)

а вот у меня кстати нет... ошибку дает... кто нить знает как сделать чтобы апплету позволялось занимать больше памяти???
Re[5]: Applet to Applet+Servlet
От: Blazkowicz Россия  
Дата: 12.08.05 12:09
Оценка:
Здравствуйте, Passer, Вы писали:

P>а вот у меня кстати нет... ошибку дает... кто нить знает как сделать чтобы апплету позволялось занимать больше памяти???


Знаю, только тебе это не поможет.

Пуск — Панель управления — Java — Java — Java Applet Runtime Settings — Java Runtime Parameters

-Xms128m
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.