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

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

Кто знает, поскажите пожалуйста.
...
Рейтинг: 0 / 0
общий init-параметр
    #32700101
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
общий init-параметр
    #32700105
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так все же надо
String param=getServletContext.getAttribute("paramName");
...
Рейтинг: 0 / 0
общий init-параметр
    #32700133
taliano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть мне надо делать так?

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

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


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

В принципе, это тоже выход из ситуации. Спасибо.
...
Рейтинг: 0 / 0
общий init-параметр
    #32700139
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
taliano В принципе, это тоже выход из ситуации.
Это самый правильный выход из ситуации, всегда так делай.
...
Рейтинг: 0 / 0
общий init-параметр
    #32700285
taliano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даааа! На теории все хорошо. Только вот на приктике почему-то не работает.
Уже по всякому пробовал... Ни из jsp ни из сервлета достать аттрибут не получается.
Может он туда и не ложится, как проверить? А может в контейнере какую-нибудь настройку подправить надо?
...
Рейтинг: 0 / 0
общий init-параметр
    #32700318
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talianoДаааа! На теории все хорошо. Только вот на приктике почему-то не работает.
Уже по всякому пробовал... Ни из jsp ни из сервлета достать аттрибут не получается.
Может он туда и не ложится, как проверить? А может в контейнере какую-нибудь настройку подправить надо?
покажи как ты его достаешь и как ложишь
...
Рейтинг: 0 / 0
общий init-параметр
    #32700340
taliano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кладу так:
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
общий init-параметр
    #32700788
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум нужно убедиться, что сервлет инициализируется не позже jsp странички :)
...
Рейтинг: 0 / 0
общий init-параметр
    #32703919
taliano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код приведеный выше был правильный. Просто, наверное Tomcat не хотел под конец дня правильно работать :-). На следующее утро все заработало.
Еще раз спасибо за помощь.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / общий init-параметр
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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