Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сохранить данные настройки с базой 
:(
    Опции темы
slolennnn
Дата 1.9.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 7.6.2006

Репутация: нет
Всего: нет



Подскажите пожалуйста.
Приложение использует myFaces.
Надо часть данных сачать из базы подсоединившись по JDBC.
То есть на первой странице есть 3 поля - url, login, password.
Заполняя их инициализируем эти 3 переменные и дальше на всех страницах все бины должны иметь к ним доступ.
Я сделал дополнительно ConnectionBean с полями
Код

    public static String dbUrl = "jdbc:mysql://GENOS:3306/godo";
    public static String dbLogin = "adm";
    public static String dbPassword;

 

и методы get/set к ним(? возможно такое?)
и положил его в session scope.
Теперь на первой странице в полях заполняю эти значения
Код

  <h:inputText value="#{connectionBean.url}"/>
  <h:inputText value="#{connectionBean.login}"/>
  <h:inputSecret value="#{connectionBean.password}"/>
  <h:commandButton value="connect" action="nextPage"/>

  

а на следующей странице уже вызывается его коннект
Код

   Connection con = ConnectionBean.getConnection();

 

Можно так вообще делать?
PM MAIL   Вверх
tux
Дата 2.9.2006, 04:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Первое. Зачем нужны методы get/set если у тебя атрибуты объявлены как public, да еще к тому же и static? К ним ведь любой класс можэет обратиться безо всяких get и set, так зачем это архитектурное излишество?

Второе. В форме заполнять параметры подключения конечно никто не запрещает. Но я вижу хоть какой-то смысл в этом только если параметры соединения будут часто меняться. Ответь для себя на вопрос будет ли это так. Если параметры JDBC в процессе эксплуатации приложения будут неизменными или будут меняться редко, то не вижу смысла вообще их вводить вручную. Да и при частом изменении можно придумать более элегантный способ. Кроме того, я себе с трудом представляю пользователя, который будет вводить кроме имени и пароля еще и URL.

Вообще обчно делают таким образом. Настройки соединения хранят либо атрибутах, объявленных как static final либо в файлах properties или XML. Первый вариант с атрибутами не очень хорош по той причине, что при изменении настроек БД приложение придется перекомпилировать. Второй и третий варианты вполне себе ничего, а с properties проще работать чем с XML, кроме того проперти, как вариант, можно передавать непосредственно в java-машину с помощью ключиков -D. 

В общем если ты создашь файлик database.properties с примерно таким содержанием:
Код

slolennnn.db.url=jdbc:mysql://GENOS:3306/godo
slolennnn.db.user=admin
slolennnn.db.password=ququ

и будешь его читать перед установкой соединения или будешь запускать JVM вот таким образом:
Код

java -Dslolennnn.db.url=jdbc:mysql://GENOS:3306/godo -Dslolennnn.db.user=admin -Dslolennnn.db.password=ququ -jar db.jar

то на мой взгляд будет только лучше. Меняются параметры подключения - меняешь содержимое файлика, запускаешь программулину и все.
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0397 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.