Здравствуйте, Protey, Вы писали:
P>Здравствуйте, DinoRay, Вы писали:
DR>>Подключаюсь к серверу, загружается апплет, получает некий скрипт-код и по этому коду строит интерфейс?
P>Можно, встанет проблема браузерной Security Policy для апплетов
Это не проблема.
Объясню чего я хочу.
Есть БД, в ней сидит скрипт-код клиентский форм.
Пользователь из броузера подключается к серваку, грузится апплет, который отвечает за построение интерфейса,
посылает запросы-получает код и строит в динамике интерфейс на уровне броузера.
Здравствуйте, DinoRay, Вы писали:
DR>Объясню чего я хочу. DR>Есть БД, в ней сидит скрипт-код клиентский форм. DR>Пользователь из броузера подключается к серваку, грузится апплет, который отвечает за построение интерфейса, DR>посылает запросы-получает код и строит в динамике интерфейс на уровне броузера.
То есть тебе нужно сбилдить HTML апплетом?
DR>Только вот никак не сооброжу как это реализовать.
DR>Подключаюсь к серверу, загружается апплет, получает некий скрипт-код и по этому коду строит интерфейс?
Вы не вот это http://xul.sourceforge.net/ ищете?
Здравствуйте, Protey, Вы писали:
P>А что, нынче разрешается апплету из внешней сети нахаляыу открыть Socket и сосать отуда всё, что хочешь? P>Вроде как низзя по дефолту?
Так ведь апплет может просто обратиться к сервлету или CGI скрипту на сервере с которого он загружен И никаких сокетов ему не надо.
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, DinoRay, Вы писали:
DR>>Объясню чего я хочу. DR>>Есть БД, в ней сидит скрипт-код клиентский форм. DR>>Пользователь из броузера подключается к серваку, грузится апплет, который отвечает за построение интерфейса, DR>>посылает запросы-получает код и строит в динамике интерфейс на уровне броузера.
B>То есть тебе нужно сбилдить HTML апплетом?
Где-то так..
DR>>Только вот никак не сооброжу как это реализовать.
B>А если не секрет зачем?
Есть идея сделать динамический интерфейс, т.е., есть дизайнер интерфейса который сохраняет в ввиде скрипта в базу, и есть клиент который вытягивает этот скрипт и на основе его строит в динамике интерфейс.
В качестве клиента хотелось-бы использовать броузер.
Интерфейс в принципе может быть достаточно сложным, состоящим из множества контролов включая гриды, деревья, а также свои контролы.
Можно это организовать в виде апплетов, интерфейс Swing, но если что-то нужно будет изменить прийдется перекомпилить.. а этого как раз и нужно избежать.
Принцип такой сделал один раз движок клиента, и интерфейс меняешь только дизайнером в базе.
Здравствуйте, DinoRay, Вы писали:
DR>Есть идея сделать динамический интерфейс, т.е., есть дизайнер интерфейса который сохраняет в ввиде скрипта в базу, и есть клиент который вытягивает этот скрипт и на основе его строит в динамике интерфейс. DR>В качестве клиента хотелось-бы использовать броузер. DR>Интерфейс в принципе может быть достаточно сложным, состоящим из множества контролов включая гриды, деревья, а также свои контролы. DR>Можно это организовать в виде апплетов, интерфейс Swing, но если что-то нужно будет изменить прийдется перекомпилить.. а этого как раз и нужно избежать. DR>Принцип такой сделал один раз движок клиента, и интерфейс меняешь только дизайнером в базе.
А какие преимущества перед обычным сервлетом? Тебе нужна постоянная связь клиент-сервер вместо "запрос-ответ"? А смысл? Реализуй все то же самое на сервере. Это будет гораздо быстрее работать чем толстый апплет.
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, DinoRay, Вы писали:
DR>>Есть идея сделать динамический интерфейс, т.е., есть дизайнер интерфейса который сохраняет в ввиде скрипта в базу, и есть клиент который вытягивает этот скрипт и на основе его строит в динамике интерфейс. DR>>В качестве клиента хотелось-бы использовать броузер. DR>>Интерфейс в принципе может быть достаточно сложным, состоящим из множества контролов включая гриды, деревья, а также свои контролы. DR>>Можно это организовать в виде апплетов, интерфейс Swing, но если что-то нужно будет изменить прийдется перекомпилить.. а этого как раз и нужно избежать. DR>>Принцип такой сделал один раз движок клиента, и интерфейс меняешь только дизайнером в базе.
B>А какие преимущества перед обычным сервлетом? Тебе нужна постоянная связь клиент-сервер вместо "запрос-ответ"? А смысл? Реализуй все то же самое на сервере. Это будет гораздо быстрее работать чем толстый апплет.
Да примерно так и предполагается "запрос-ответ", можно передать броузеру сгенеренный на сервере HTML, но интерфейс может быть сложный, закладки, таблицы, для этого я должен буду передать скомпилинный апплет.
В HTML я могу вставить токо JavaScript, а там нельзя реализовать к примеру JTable.
Может я че-то не понимаю, на java начал переходить сравнительно недавно.
DR>Подключаюсь к серверу, загружается апплет, получает некий скрипт-код и по этому коду строит интерфейс?
Я так поступал:
Документ состоит из 2-x фрэймов.
В нижнем фрэйме показывается сам документ.
В верхнем, маленьком — апплет. А ещё так крутиться Java-скрипт, который периодически опрашивает сосояние апплета (обращаться из скрипта в апплет — не проблема, а вот наоборот — будут проблемы с безопасностью). Если апплет ставит флажок, говорящий об необходимости обновления страницы — скрипт просит у апплета текст для отображения и выводит его в нижний фрэйм ( просто document.write ).
Через скрипт можно управлять апплетом или на самом апплете разместить органы управления.
Апплет при этом свободно ходит на сервак, с которого он был загружен, и получает необходимую информацию (хоть к БД через JDBC, хоть просто по сокету).
Эта схема не вызывает проблем с безопасностью, ничего подписывать не нужно.
Я несколько раз так поступал — вполне жизнеспособный вариант.
Здравствуйте, Am_Sasa, Вы писали:
A_S>Здравствуйте, DinoRay, Вы писали:
DR>>Подключаюсь к серверу, загружается апплет, получает некий скрипт-код и по этому коду строит интерфейс?
A_S>Я делал примерно такое, можешь посмотреть A_S>на здесь A_S>тока там, где написано про базу не работает, т.к. закрыт внешний адрес.
Примерно то...
Но хотелось-бы иметь скажем главную форму встроенную в HTML, т.е закладки, Grid непосредственно в документе.
Наверное такое не получится...
Для того, чтобы получить скажем Grid все-равно надо иметь скомпилированный апплет.
Здравствуйте, DinoRay, Вы писали:
DR>Примерно то... DR>Но хотелось-бы иметь скажем главную форму встроенную в HTML, т.е закладки, Grid непосредственно в документе. DR>Наверное такое не получится... DR>Для того, чтобы получить скажем Grid все-равно надо иметь скомпилированный апплет.
Получится. Для этого надо использовать Swing. У меня такое тоже есть, не выложил, потому что стандартный броузер его не поддерживает.
Здравствуйте, Am_Sasa, Вы писали:
A_S>Здравствуйте, DinoRay, Вы писали:
DR>>Примерно то... DR>>Но хотелось-бы иметь скажем главную форму встроенную в HTML, т.е закладки, Grid непосредственно в документе. DR>>Наверное такое не получится... DR>>Для того, чтобы получить скажем Grid все-равно надо иметь скомпилированный апплет.
A_S>Получится. Для этого надо использовать Swing. У меня такое тоже есть, не выложил, потому что стандартный броузер его не поддерживает.
Так о Swing и идет речь, только не статически скомпилированный апплет, а так чтобы контролы создавались динамически.
А что значит стандартный броузер не поддерживает?
Смысл как-раз в том чтобы поддерживал, иначе можно независимого клиента написать и нет проблем.
Здравствуйте, DinoRay, Вы писали:
DR>А что значит стандартный броузер не поддерживает? DR>Смысл как-раз в том чтобы поддерживал, иначе можно независимого клиента написать и нет проблем.
Это значит, что на компе клиента д.б. установлена вторая Java? JDK 1.3 и выше!
Здравствуйте, Am_Sasa, Вы писали:
A_S>Это значит, что на компе клиента д.б. установлена вторая Java? JDK 1.3 и выше!
Нет. Это значит что на компе клиента д.б. SUN JRE 1.3 и выше + Plugin для конкретного браузера, который загружает правильно оформленный в html applet используя эту самую SUN JRE 1.3 и выше. Если нужной версии JRE нету — будет предложено загрузить и установить.
При установке JDK 1.3 и выше по умолчанию ставится и JRE 1.3 и выше + Plugin.