| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Как вытащить подключение к БД из контекста Tomcat? |
| Автор: Aoli 7.2.2007, 02:06 | ||||||
Понадобилось переписать программу (это я к тому, что раньше все работало ОК). Прогоняю тесты. Первый сразу же вылетает с такой ошибкой:
Код тестового сервлета:
Проверил отладчиком: в envContext (в его HashMap) есть объект по ключу "library". ds - не пустой. Однако все поля ds - либо null, либо 0. В чем проблема - понять не могу Контекст:
|
| Автор: Zamuta 7.2.2007, 03:01 | ||||
| Меня здесь смущает <Context path="/">...</Context> Если это server.xml, то
И в web.xml
|
| Автор: Aoli 7.2.2007, 12:25 |
| В web.xml в <resource-ref> на всякий случай добавил <res-sharing-scope>Shareable</res-sharing-scope> В Tomcate нет server.xml, поэтому попробовал <GlobalNamingResources> написать в context.xml. Tomcat не понял шутку. Тот же самый exception. |
| Автор: tux 7.2.2007, 13:08 | ||||
В META-INF/context.xml:
В web.xml:
А что это за Томкат, у которого нет server.xml? Никогда таких не видел. |
| Автор: Aoli 7.2.2007, 16:41 | ||||
Сорри. Нашел в папочке conf. Вписал в META-INF/context.xml то, что посоветовал tux. Exception, как ни странно, тот же. Переписал доставание контекста так:
и получил javax.naming.NameNotFoundException: Name app is not bound in this Context Т.е., как я понимаю, Tomcat вообще игнорирует мой context.xml???!!! P.S. в web.xml написано то же, что и у tux. |
| Автор: tux 7.2.2007, 16:53 | ||
Здесь
app - это что? Ссылка на источник данных вроде library называется. Или ты что-то другое ищещь? |
| Автор: Zamuta 7.2.2007, 16:55 | ||
Aoli, если ты хочешь получить доступ к java:/comp/env/app, то создай тогда свой ресурс в server.xml
Теперь имя ресурса у тебя "app", можешь посмотреть это если зайдёшь http://localhost:[port]/admin , пароль от админки лежит в tomcat-users.xml, а обращаться в коде нужно java:/comp/env/app |
| Автор: Aoli 7.2.2007, 20:40 | ||||||
| Читал доки. Много думал (С). Создал новый проект. В server.xml не суюсь. В context.xml прописал:
В web.xml:
В коде сервлета:
И - чудеса на постном масле: все работает. Отличий между способом подключения в исходном проекте и в тестовом не нашел. Почему в исходном проекте не коннектит - не знаю. Придется пересобирать заново |