![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Vassik |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Привет всем) Знаю вопрос не совсем про апплеты, но задам все же свой вопрос здесь. Написал я апплет, смысол которого то что он читает инфу из базы и отображает её в апплете. Так вот когда я это все писал, чтобы апплет работал я подключал jar файл драйвера в Idea, добавляя его в модули которые компилятся.
После того, как все это дело я захотел вставить в страницу, из консоли оперы я выяснил, что апплет не может найти драйвер, вот трейс: java.lang.ClassNotFoundException: org.firebirdsql.jdbc.FBDriver at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at NewJFrame.connect(NewJFrame.java:42) at NewJFrame.<init>(NewJFrame.java:131) at Main.init(Main.java:28) at com.opera.PluginPanel.run(PluginPanel.java:420) at java.lang.Thread.run(Unknown Source) я так понял, надо указать файл драйвера из кода, как это сделать??? Вот код главного класса:
Вот часть кода там где происходит подключение:
И еще апплет у меня появляется в отдельном окне, как сделать чтобы он встроенный в страницу был? Зарание спасибо |
||||
|
|||||
| Metal_Heart |
|
|||
|
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: нет Всего: 12 |
не использовать JFrame -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
| Vassik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
А как насчет драйвера, как его из кода подключить??? Или надо по другому этот вопрос решать???
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Или положить jar с драйвером на сервер и указать его в параметре archive тега applet. Или упаковать все необходимые классы в один jar. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Vassik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
А в коде класса там где подключение идет, никакого пути к драйверу прописывать не надо? Просто сейчас на работе попробывать не могу |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Нет. Это уже забота ClassLoader-а найти нужный класс. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Skipy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 487 Регистрация: 24.8.2006 Где: Москва, Россия Репутация: нет Всего: 16 |
... и с ба-а-альшой долей вероятности получить SecurityException при попытке соединения с произвольным хостом. А если даже и нет - страшно подумать, какой будет скорость работы с базой при связи через WAN. 2 Vassik: Это организуется не так. На сервере, с которого пришел апплет, сидит приложение, например, сервлет, которое умеет выбирать из базы нужную информацию. Апплет шлет запрос, приложение выбирает данные и возвращает в виде, готовом к использованию. Таким образом увеличивается скорость (связь с базой через LАN в худшем случае, в лучшем - на одном сервере, но это редко когда делается из-за проблем с производительностью), уменьшается объем данных, передаваемых через инет (апплету не нужно драйвер базы с собой тащить, да и уже готовые данные часто занимают меньше, чем результаты запроса из базы), ну и нет проблем с безопасностью. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
А почему база должна быть на произвольном хосте? Тоже вариант, но более сложный. Плюс встанет проблема с тем в каком виде отдавать данные от сервлета. XML надо парсить, да и места он занимает прилично. Сериализация объектов лучше, но надо следить за актуальностью клиентов. SQL позволяет эффективно выбирать данные из базы. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Vassik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Спасибо всем за советы буду разбираться)
2 LSD: Сериализация объектов, а что ты имел ввиду под этим понятием, что конкретно? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Сериализация это процесс сохранения данных объекта в бинарную форму (это может быть файл, сокет или еще что). И восстановления объекта из бинарной формы (десериализация). Поищи по форуму, тема уже неоднократно обсуждалась и примеры тоже есть. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
По-моему, я уже где-то здесь видел тему об апплете и его взаимодействии с БД, так вот, там было написано что коннектиться к базе с апплета - не лучший вариант. Одна из причин - это то, что логин и пароль к БД хранятся в апплете. Таким образом его можно декомпилировать и достать эти данные. А есть ли способ как-то это обойти?
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
В любом случае пользователя надо как-то аутентифицировать. Можно использовать имя и логин пользователя для коннекта к базе и в апплете вообще ничего не хранить.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: 1 Всего: 7 |
Ну да, логично, что-то я протупил.... однако, ведь может быть ситуация когда апплет работает с базой, но открыт на доступ для всех(то есть в этом случае аутентификация не нужна) - как тогда?
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Тогда гостевой пароль в базу, с правами только на чтение и только тех данных который можно читать гостю. Если надо можно использовать процедуры и вьюхи.
Т.е. апплет должен только представлять пользователю данные в удобном виде. А безопасность БД должен обеспечивать сервер СУБД. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| COVD2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.6.2006 Репутация: нет Всего: 1 |
"А безопасность БД должен обеспечивать сервер СУБД."
- безопасность ДБ может обеспечить специалист по СУБД, если он есть в компании Опять же, если апплет за файерволом, то прямое сокетное соединение с базой данных вряд ли будет возможно. Только сервлеты помогут. Еще один аргумент за три уровня. Это сообщение отредактировал(а) COVD2 - 27.8.2006, 17:45 |
|||
|
||||
![]()
|
| Правила форума "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. |