Хранение конфига БД в web.xml
Имеется веб приложение на сервлетах и jsp.
По мере изучения технологии программирования под веб на Java, очень понравилась методика хранения различным конфиг. данных в web.xml , и последующее обращение к ним через ServletContext или ServletConfig. Однако, понадобилось хранить данные для подключения БД, которые я запихнул туда-же в web.xml, в context-param . Возникли проблемы с чтением этих данных классом DB, т.к. он не является сервлетом и соответственно не может обращаться к контексту и конфигу сервлетов, и получать оттуда данные.
Временно реализовал след образом: класс DB реализован как singleton. Имеется так-же класс, реализующий интерфейс ServletContextListener , который при инициализации контекста читает нужные для подключения к БД данные, и, вызывая определённый метод класса DB передаёт ему эти данные. В свою очередь DB на основе этих данных реализует подключение к БД, и дальнейшие к ней обращения.
Однако сдаётся мне что не совсем это правильный подход. Потому хотелось-бы услышать ваши мнения относительно моей реализации, и возможные альтернативы.
Спасибо.
Относительно конфига в web.xml. Конфиг надо держать там где вам ето удобно, но не надо привязиваться к технологиям.
Цитата: patison
ServletContextListener , который при инициализации контекста читает нужные для подключения к БД
виглядит хорошо. Только не надо инфу сразу в класс БД пихать. Ведь ети конфиги могут понадобится еще гдето. Сделайте себе инмутабле-класс холдер конфига и все в него и вичитывайте. Так ви не будете привязаны к сервлетам, а при необходимости сможете потом переместить конфиг хоть в property хоть в ini файл.