![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| katala |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
у меня такая проблема. есть файл filter.properties
в web.xml пишу
потом в классе
и при запуске проекта появляется на консоли ошибка
хотя именно там файл и лежит. не понятно в чем проблема. может вы подскажите |
||||||
|
|||||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
зачем таким жутким способом properties читатать???? это специально задуманный мазохизм?
|
|||
|
||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
поскажи правильный способ. я ведь толком с ними и не работал
Добавлено @ 18:35 не класс фильтр у меня там по другим причинам используется. вот само подключение
|
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
Я не уверен, что в WEB-INF можно вот так запросто лазить. Если апликуха не запакована, то поможет ServletContext.getRealPath().
-------------------- ![]() ![]() |
|||
|
||||
| ALKS |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
класс java.util.ResourceBundle предназначен, в частности, для того чтобы работать с файлам properties. три основных пакета: java.lang, java.io и java.util . ты должен знать для чего предназначен каждый класс в этих пакетах. katala, правильно ты с properties не работал никогда. но разобраться самостоятельно конечно не так просто как спросить на форуме и особо не вникая схватить готовое решение. не помню, писал я тебе или нет, но повторюсь - найди и прочти полностью одну книгу по Java. и еще настоятельно рекомендую хотябы проглядеть все статьи по java вот отсюда: http://forum.vingrad.ru/index.php?act=modu...dule=vingradfaq времени много не займет, а представление получиш о очень многих аспектах. |
||||
|
|||||
| Tirael |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Слушь....название какое-то знакомое ))))
Ты бы попросил, я бы тебе готовый дал То что ты делаешь, надо делать наверное не в фильтре, а в листенере. Вот, например так :
а в web.xml вот что записанно
Настораживает то, почему у тебя в стэк-трэйсе слэш не туда смотрит? Возможно, действительно попробуй через realPath А почему бы и нет ? Добавлено @ 22:01 Еще одна вещь. В настройках проекта у тебя папочка /WEB-INF/conf причисленна к Source Folders ? Если нет, попробуй запихнуть не в /conf, а в /WEB-INF/classes. Это сообщение отредактировал(а) Tirael - 14.5.2006, 12:30 --------------------
|
||||
|
|||||
| onsh76 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 20.11.2005 Где: Beautiful BC Репутация: 4 Всего: 5 |
katala,
Простой совет начинающему: properties файлы должны быть в classpath-е. Tirael тебе уже подсказал что к чему. Если решил всерьез заниматься JEE web applications , то сервлет спекс - это как библия... Удачи. |
|||
|
||||
| katala |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
вот как я сделал(и все пркрасно работает)
вот с этим я не согласен и с этим тоже
|
||||||
|
|||||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
И все таки рекомендую сделать чтение .properties не в фильтре, а в листенере. А сам объект Properties p сохранять в контескте.
Ибо: 1. Фильтры немного не для того преднозначенны. 2. Ты можешь захотеть обратиться к данным из этого файла еще несколько, но уже из других мест. --------------------
|
|||
|
||||
| katala |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
ну во-первых фильтр не для этого и в методе public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException вроде написано. а на счет 2 пункта достигается одной строкой
|
||||
|
|||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Стоп...
У тебя для каждой сессии будет свой пропери ? А зачем ? --------------------
|
|||
|
||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
почему???? он ведь один и тот же.
|
|||
|
||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Один то он один, но зато в каждой сессии.
ты для каждого нового клиента делаешь новый атрибут. А зачем ? Это же нехорошо. Клиентов много - много сессий - много одинаковых объектов. Сохраняй в контекст одну копию, а потом можешь доставать ее когда тебе надо. --------------------
|
|||
|
||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
самое интересное что мне и нужно на каждого клиента своя сессия поэтому здесь так я думаю можно сделать. а вообще в других случаях может ты и прав надо делать подругому но в данной ситуации это не значительно
|
|||
|
||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Я тебя не понял. Или ты меня не понял. Или то и другое сразу.....
Чтоб убрать непонятки, скажи: Твой объект Properties p изменяется в программе ? Если да, то изменения в нем должны влиять на всех пользователей, или только и исключительно на одного ? З.Ы. Я считаю, что хранить сами объекты в сессии нехорошо. И тому есть причины. Чтобы изменить объект, который храниться в сессии, ты должен: 1. Достать его из сессии. 2. Изменить объект 3. Опять записать уже измененый объект обратно в сессию. Слишком накладно. Как насчет того, чтоб хранить в сессии не сам объект, а некоторый его идентефикатор. Тогда, чтоб изменить объект тебе надо будет: 1. Достать идентефикатор из сессии 2. Найти объек через идентефикатор 3. Изменить объект На мой взгляд это удобнее, быстрее, красивее. --------------------
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |