Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> где в web app сохранять общие переменные 
:(
    Опции темы
slolen
Дата 25.4.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 24.12.2004
Где: Chech Republic, P raha

Репутация: нет
Всего: нет



Подскажите плиз, как лучше инициализировать определенные переменные
типа public static LENGHT_OF_SMTH - и эта переменная используется в managed bean -
значениями из xml файла чтоб потом их использовать.
То есть юзер должен перед запуском и деплоем на сервер прописать в xml файле какие-то значения для переменных, а приложение - наверно сервлет smile - при старте прочитать их и ними проинициализировать определенные переменные в managed бине. 
PM MAIL   Вверх
ALKS
Дата 25.4.2006, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



Ну у сервлета есть специальный метод init для таких целей:
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html

Код

public void init(ServletConfig config) throws ServletException {
    super.init(config);

    //а вот тут твой код
}


хмl c конфигурацией кидай в /WEB-INF/ 
и делай в init c ним что угодно smile 
PM   Вверх
Tirael
Дата 25.4.2006, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



Ну если это WEB-приложение, почему бы не делать это в файле web.xml 

Обычно всякие константы записываются там так :
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
.....................................
    <context-param>
        <param-name>GREETING</param-name>
        <param-value>Hello, USER!!!</param-value>
    </context-param>
.....................................
</web-app>


А в сервлете ты их можешь прочитать. Например так: 
Код

public class GreetingServlet extends HttpServlet {
    private String GREETING;

    public void init(ServletConfig config) throws ServletException {
        GREETING = config.getServletContext().getInitParameter("GREETING");
        super.init(config);
    }
....................................................
}
   

Это сообщение отредактировал(а) Tirael - 25.4.2006, 18:07
--------------------
 
PM MAIL   Вверх
ALKS
Дата 25.4.2006, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



Тoже путь, причем простой, но хороший стиль предполагает не замусоривать web.xml ничем кроме того что там быть обязано. 
К тому же собственный хмl config file в связке c W3C XML Schema даст возможность жестоко провалидировать что там в нем набито, и это боооольшой плюс smile 
PM   Вверх
Tirael
Дата 25.4.2006, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



ALKS, а можно спросить - почему метод super.init(config); вы вызываете до своего кода ?

Добавлено @ 18:20 
Цитата(ALKS @  25.4.2006,  18:01 Найти цитируемый пост)
хмl c конфигурацией кидай в /WEB-INF/ 
и делай в init c ним что угодно  


Цитата(ALKS @  25.4.2006,  18:11 Найти цитируемый пост)
К тому же собственный хмl config file в связке c W3C XML Schema даст возможность жестоко провалидировать что там в нем набито, и это боооольшой плюс  


А можно немного поподробней ? Где можно почитать ?
 
--------------------
 
PM MAIL   Вверх
ALKS
Дата 25.4.2006, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



Ну а встречный вопрос можно? почему в конце? Я лично, если не оговоренно специально или если нет специальной по этому поводу работы, всегда вызываю super-ы в начале. по привычке и аналогии с конструкторами smile


http://www.w3.org/TR/xmlschema-0/
http://www.w3schools.com/schema/default.asp 
PM   Вверх
jimur
Дата 25.4.2006, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



Цитата(Tirael @  25.4.2006,  18:11 Найти цитируемый пост)
А можно немного поподробней ? Где можно почитать ?

Согласен с ALKS, что web.xml засорять не надо. 
Можно прикрутить что-нибудь легкое вроде http://jakarta.apache.org/commons/configuration/
А если система собирается быть большой - я бы Spring Framework http://www.springframework.org/download?sa=X прикрутил. 
PM MAIL   Вверх
Tirael
Дата 25.4.2006, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



Цитата(ALKS @  25.4.2006,  21:26 Найти цитируемый пост)
Ну а встречный вопрос можно? почему в конце? Я лично, если не оговоренно специально или если нет специальной по этому поводу работы, всегда вызываю super-ы в начале. по привычке и аналогии с конструкторами 

Вот сижу и пытаюсь вспомнить хоть один раз, где я встречал вызов super.init(config) в начале. Твой пример был первым.  smile 
Ну а если подумать, то в чем отличие ?  smile 

Цитата(jimur @  25.4.2006,  22:52 Найти цитируемый пост)
Согласен с ALKS, что web.xml засорять не надо. 

Я подозревал, что так делать нехорошо, но не встречал никакой толковой замены. 
Почитаю разберусь. Кажись вещь нужная... smile 
  

Это сообщение отредактировал(а) Tirael - 25.4.2006, 23:07
--------------------
 
PM MAIL   Вверх
jimur
Дата 25.4.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



Цитата(Tirael @  25.4.2006,  23:07 Найти цитируемый пост)
Почитаю разберусь. Кажись вещь нужная... smile 

Spring очень рекомендую. Все намного упрощается. Особенно они 2 хорошо сделали, грамотно используя фичи 1.5. 
PM MAIL   Вверх
Tirael
Дата 25.4.2006, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



Какие есть альтернативы у Spring ? 
--------------------
 
PM MAIL   Вверх
jimur
Дата 26.4.2006, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 21.4.2006

Репутация: 1
Всего: 3



основные
HiveMind 
PicoContainer

вот статья хорошая: http://www-128.ibm.com/developerworks/libr...s-lightweight4/

ну и основной смысл:
Цитата

Right now, there's only one real solution. HiveMind has interesting innovations, and PicoContainer has an easy-to-use model (in theory), but the community seems to have voted on Spring Framework. Over time, a new container may develop, or HiveMind could continue to garner market share, but right now, Spring's your best bet.



 
PM MAIL   Вверх
Tirael
Дата 26.4.2006, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



jimur, thnx....  smile 
Хотел бы нажать [+] но постов мало  smile  
--------------------
 
PM MAIL   Вверх
tux
Дата 26.4.2006, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(Tirael @  26.4.2006,  05:35 Найти цитируемый пост)
Хотел бы нажать [+] но постов мало  smile   

Нет проблем, я нажму. 
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0929 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.