Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / общий init-параметр / 10 сообщений из 10, страница 1 из 1
17.09.2004, 15:29
    #32700076
taliano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
Есть сервлет, в web.xml для него прописан init-param с соответствующим value.

Вопрос:
1. Как можно получить это value из другого сервлета или jsp-странички?
2. Как можно сделать какой-нибудь общий init-параметр чтобы он был доступен для всех сервлетов и jsp-страниц данного приложения?

Кто знает, поскажите пожалуйста.
...
Рейтинг: 0 / 0
17.09.2004, 15:41
    #32700101
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
talianoЕсть сервлет, в web.xml для него прописан init-param с соответствующим value.

Вопрос:
1. Как можно получить это value из другого сервлета или jsp-странички?
2. Как можно сделать какой-нибудь общий init-параметр чтобы он был доступен для всех сервлетов и jsp-страниц данного приложения?

Кто знает, поскажите пожалуйста.
В сервлете пишешь
getServletContext.setAttribute("paramName", paramValue);

потом в любом сервлете или jsp
String param=getServletContext.getAttribute("paramName", paramValue);
...
Рейтинг: 0 / 0
17.09.2004, 15:42
    #32700105
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
вот так все же надо
String param=getServletContext.getAttribute("paramName");
...
Рейтинг: 0 / 0
17.09.2004, 15:56
    #32700133
taliano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
То есть мне надо делать так?

В самом сервлете для которого я в web.xml прописал инит-параметр:
paramValue = (String) getInitParameter("myInitParam");
getServletContext.setAttribute("paramName", paramValue);

И далее в другом сервлете я вызываю:
String param=getServletContext.getAttribute("paramName");


А нельзя сразу в web.xml прописать общий инит-параметр?

В принципе, это тоже выход из ситуации. Спасибо.
...
Рейтинг: 0 / 0
17.09.2004, 15:58
    #32700139
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
taliano В принципе, это тоже выход из ситуации.
Это самый правильный выход из ситуации, всегда так делай.
...
Рейтинг: 0 / 0
17.09.2004, 16:56
    #32700285
taliano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
Даааа! На теории все хорошо. Только вот на приктике почему-то не работает.
Уже по всякому пробовал... Ни из jsp ни из сервлета достать аттрибут не получается.
Может он туда и не ложится, как проверить? А может в контейнере какую-нибудь настройку подправить надо?
...
Рейтинг: 0 / 0
17.09.2004, 17:11
    #32700318
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
talianoДаааа! На теории все хорошо. Только вот на приктике почему-то не работает.
Уже по всякому пробовал... Ни из jsp ни из сервлета достать аттрибут не получается.
Может он туда и не ложится, как проверить? А может в контейнере какую-нибудь настройку подправить надо?
покажи как ты его достаешь и как ложишь
...
Рейтинг: 0 / 0
17.09.2004, 17:23
    #32700340
taliano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
Кладу так:
public void init () throws ServletException {
dbalias = (String) getInitParameter("dbalias");
classforname = (String) getInitParameter("classforname");
try {
Class.forName(classforname);
getServletContext().setAttribute("dbalias", dbalias);
getServletContext().setAttribute("classforname", classforname);
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
}


Достаю так (в сервлете):
String dbalias = (String) getServletContext().getAttribute("dbalias");
String classforname = (String) getServletContext().getAttribute("classforname");
out.println("<html><body>");
out.println("<br>"+dbalias);
out.println("<br>"+classforname);
out.println("</body></html>");


Достаю так (в jsp):

String dbalias = (String) getServletConfig().getServletContext().getAttribute("dbalias");
String classforname = (String) getServletConfig().getServletContext().getAttribute("classforname");
out.println(dbalias);
out.println(classforname);


А мне выводится:
null
null
...
Рейтинг: 0 / 0
18.09.2004, 11:59
    #32700788
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
Как минимум нужно убедиться, что сервлет инициализируется не позже jsp странички :)
...
Рейтинг: 0 / 0
21.09.2004, 12:01
    #32703919
taliano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
общий init-параметр
Код приведеный выше был правильный. Просто, наверное Tomcat не хотел под конец дня правильно работать :-). На следующее утро все заработало.
Еще раз спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / общий init-параметр / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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