Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Хранение конфига БД в web.xml

444
05 января 2010 года
patison
323 / / 15.03.2007
Друзья.. встал след вопрос.
Имеется веб приложение на сервлетах и jsp.
По мере изучения технологии программирования под веб на Java, очень понравилась методика хранения различным конфиг. данных в web.xml , и последующее обращение к ним через ServletContext или ServletConfig. Однако, понадобилось хранить данные для подключения БД, которые я запихнул туда-же в web.xml, в context-param . Возникли проблемы с чтением этих данных классом DB, т.к. он не является сервлетом и соответственно не может обращаться к контексту и конфигу сервлетов, и получать оттуда данные.

Временно реализовал след образом: класс DB реализован как singleton. Имеется так-же класс, реализующий интерфейс ServletContextListener , который при инициализации контекста читает нужные для подключения к БД данные, и, вызывая определённый метод класса DB передаёт ему эти данные. В свою очередь DB на основе этих данных реализует подключение к БД, и дальнейшие к ней обращения.

Однако сдаётся мне что не совсем это правильный подход. Потому хотелось-бы услышать ваши мнения относительно моей реализации, и возможные альтернативы.

Спасибо.
502
06 января 2010 года
Jail
550 / / 30.01.2007
fetch this
276
11 января 2010 года
Rebbit
1.1K / / 01.08.2005
Много уже сказано о синглетонах и хорошего и плохого. Не хочу затрагивать ету тему.
Относительно конфига в web.xml. Конфиг надо держать там где вам ето удобно, но не надо привязиваться к технологиям.
Цитата: patison
ServletContextListener , который при инициализации контекста читает нужные для подключения к БД


виглядит хорошо. Только не надо инфу сразу в класс БД пихать. Ведь ети конфиги могут понадобится еще гдето. Сделайте себе инмутабле-класс холдер конфига и все в него и вичитывайте. Так ви не будете привязаны к сервлетам, а при необходимости сможете потом переместить конфиг хоть в property хоть в ini файл.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог