![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Looser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Добрый день.
Я только начал изучать j2ee Ситуация такая: Мне нужно вывести на страницу информацию о сервере. я делаю так: out.println(getServletConfig().getServletContext().getServerInfo()); я понимаю, что это можно сделать по-другому, но всё же... getServletConfig() возвращает null, и, ессно, выбрасывается NullPointerException.... Как же получить доступ к контексту? Спасибо за ответ |
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: 6 Всего: 14 |
Как вы вызываете ваш сервлет? Приведите урл пожалуйста. Если мне не изменяет память, то вызов в invoker-style не дает доступа к ServletConfig, т.к. его конфига фактически не существует. Вызов в Invoker-style - это
http://www.myserver.com/servlet/... Необходимо прописать в web.xml мэппинги (урл-отображения) для вашего сервлета. Приведите содержимое web.xml тоже. Это сообщение отредактировал(а) kkorsakoff - 31.1.2006, 02:34 |
|||
|
||||
| Looser |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
фрагмент web.xml:
Вызываю через форму
|
||||
|
|||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: 6 Всего: 14 |
Не могу угадать поведение томкэта при одинаковом имени сервлета и его маппинга, попробуй хотя бы так:
<form> оставь ту же. По-крайней мере у меня больше вариантов нет, почему конфиг может == null. Это сообщение отредактировал(а) kkorsakoff - 1.2.2006, 03:29 |
|||
|
||||
| onsh76 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 20.11.2005 Где: Beautiful BC Репутация: 4 Всего: 5 |
По замыслу тех кто проектировал сервлеты, каждый сервлет - потомок класса GenericServlet (будь то HttpServet или еще какая-нить имплементация, ну скажем сервлет имплементирующий WAP протокол) - имеет доступ к обьектам: - servletContext (defined and implementation is provided by GenericServlet class) ; - servletConfig ( definition is provided by Servlet interface, implementaion is provided by GenericServlet class). Отвечаю на вопрос как получить доступ к контексту: Ниже два варианта как распечатать то, что Вам нужно:
Второй вариант как видите - это Ваш рабочий код, который прекрасно работает. Но он несколько длиннее первого. |
||||
|
|||||
| Looser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
2 kkorsakoff: исправил, как вы говорили, но по-прежнему getServletConfig() возвращает null.
2onsh76: Почему то мой "рабочий" код не "прекрасно" работает, а выбрасывает NullPointerException в строке out.println(getServletConfig().getServletContext().getServerInfo()); Вывел отдельно: out.println(getServletConfig()); - напечатал null... |
|||
|
||||
| onsh76 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 20.11.2005 Где: Beautiful BC Репутация: 4 Всего: 5 |
Какой сервак? Приведи код сервлета и web.xml. Плюс чего набираем в браузере. А то так долго гадать будем на кофейной гуще. Если вызывать сервлетконфиг в конструкторе твоего сервлета - то это рановато. ServletConfig доступен только после того как контейнер сделает вызов метода init() (или init(ServletConfig), более ранняя версия сервлет спекс.). |
|||
|
||||
| Looser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Всё, понял...
Проблема была в том, что eclipse создал метод init(ServletConfig config), а не init()... В этом случае config был равен null.. исправил на init() и всё норм... Всем спасибо... Это сообщение отредактировал(а) Looser - 1.2.2006, 14:10 |
|||
|
||||
| onsh76 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 20.11.2005 Где: Beautiful BC Репутация: 4 Всего: 5 |
Бывает Рад был помочь... |
|||
|
||||
![]()
|
| Правила форума "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. |