powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как классу внутри веб-приложения получить доступ к ServletConfig
10 сообщений из 10, страница 1 из 1
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32958744
xa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервлет может обратиться к своему сервлет-конфигу.
JSP страница тоже может.

Как сделать так, чтобы обычный класс мог обратиться к конфигу произвольного сервлета? может я туплю..

(Парсить web-xml не предлагать)
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32958749
ходок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обычный класс кем создается? сервлетом? тогда в конструкторе класса
передавай ссылку на ServletConfig. или чем-нить типа yourClassInstance.setServletConfig(...);
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32958976
ХА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем история такая.

Написал я классец, у которого есть несколько методов обращения к базе.
Зашил в нем юрл, пароль, логин к базе.

Ну и давай откуда не попадя эти методы дергать: DBhelper.getRs("SELECT * FROM table")

Все бы хорошо, но мне приходится часто переносить приложение под другую систему. Ну и там эти параметры (юрл итд.) немного другие

Ну я и хочу прописать их в web.xml к примеру, чтобы класс работал как на моей системе, так и на той в которую выкидываю. Самому парсить конфиги нехочется.
Вот и приходится: изменил- перекомпилил- залил - изменил обратно- перекомпилил.
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32959008
ходок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так "на лицо" уже заранее плохая реализация продукта. может,
передизайнить кой-че?
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32959242
ХА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
реализация может быть и плохая, но работает и это есть гуд.
По хорошему здесь нужно, видимо использовать jndi, как это делается в j2ee.
Но это следующий шаг - а сейчас надо просто облегчить себе жизньь при синхронизации того что есть на девелоперской машине с хостом.
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32959306
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно сделать так:

- Определить параметры коннекта к БД в каком-нибудь файле параметров .properties и положить его, к примеру, в WEB-INF.
- Определить в web.xml один сервлет, экземпляр которого будет автоматически создаваться при старте приложения.
- В этом сервлете в методе init() читать файл параметров и инициализируешь коннект к БД. Правильней ИМХО было вы создавать пул коннектов, передавая ему абсолютный путь к файлу параметров.
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32959432
ХА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня все так и работает.

app = getServletContext();
pool = new DbConnectionPool(
cfg.getInitParameter("jdbcDriver"),
cfg.getInitParameter("jdbcURL"),
cfg.getInitParameter("jdbcUser"),
cfg.getInitParameter("jdbcPwd"));
app.setAttribute("db-connection-pool", pool);

Но видимо достать этот аттрибут: db-connection-pool
уже не удастся из обычного класса.

А давать пулу при инициализации ссылку на конфигурационный файл...
Это либо парсить тот -же xml, либо properties.

Кстати, относительно последего, кинте примерчик плз, как используются, может это как раз то, что мне нужно.
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32959451
ХА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, все понял... почитал api, это ж как xml файл где есть только key и value.
Спасибо, что навели, никогда раньше ими просто не пользовался. Щас попробую.
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32959472
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В конце концов можно парсить и XML, у меня так сперва и было. Просто потом перешел на .properties при создании инсталятора - ANT'овский скрипта - в котором спрашиваются параметры соединения в БД, остальные параметры, после чего из них создается файл параметров и присоединяется к war'у.
...
Рейтинг: 0 / 0
Как классу внутри веб-приложения получить доступ к ServletConfig
    #32964655
Demeter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по поводу передачи коннекта в вебприложении любому класса без использования статических переменных советую обратить внимание на
java.lang.ThreadLocal (@author Josh Bloch and Doug Lea)

если не поняли - делаем обычный веб фильтр

try{
берем коннекшен из пула и кладем его в поток (Thread)
chain.doFilter(..)
} finally{
возвращам коннекшен в пул
}

криво это конечно, но всяко лучше, чем синглтоны раздающие коннекты прямо из пула
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как классу внутри веб-приложения получить доступ к ServletConfig
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]