![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
как можно определить порт, на который пришёл запрос в теле init() - метода сервлета ?
|
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Насколько я понимаю - никак. В доках сказано:
Проще говоря, сначала создается инстанс сервлета, затем вызывается init, после чего сервлет способен обрабатывать реквесты. Из ServletRequest объекта порт можно получить в методах, где он обрабатывается, в том же service: http://java.sun.com/products/servlet/2.3/j...getServerPort() -------------------- |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
... вот я такое нарыл - а хотелось бы |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
А зачем определять? Есть порт, на котором слушает контейнер сервлетов (Томкат, например), и это обычно порт 80 или 8080. Сервлет не работает с портом, реквесты ему передает контейнер сервлетов и ему же он возвращает респонс.
Это сообщение отредактировал(а) COVD - 27.12.2005, 18:13 |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
у меня на одном хосте запущено два контейнера - в методе инит происходит считывание из файла адреса, куда редеректить запрос дальше (локалхост:8080 - например).
вот собсно ... |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
У сервлета есть методы doPost и doGet, в которые контейнер передает обьекты реквеста и респонса.
Первый обьект(реквест) - это труба, из которой в сервлет поступают параметры запроса. Второй обьект(респонс) - труба, в которую сервлет должен выбросить свой ответ. Сервлет -это как статический метод. Таким образом, кто прислал запрос , тот и получит ответ. Это ответственность контейнера вернуть ответ автору запроса. |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
я вкурсе
|
|||
|
||||
| 3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Вобще-то всё просто:
Это сообщение отредактировал(а) 3,14 - 28.12.2005, 10:18 -------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Это в теле init метода? -------------------- |
|||
|
||||
| 3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Извиняюсь, не обратил внимание что нужно именно в init-е это сделать... -------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
| 3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Тогда вопрос не корректный, в init не могут приходить запросы -------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
- нет, ну Вы посмотрите на него Вопрос ему некоректный..... - 3 поста "в тему" сделал... Инит вызывается перед перевым обращением к ДО_*... после обращения к сервлету. Это сообщение отредактировал(а) KostenkoSergey - 28.12.2005, 16:34 |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Модератор: Не оффтопить
Вопрос действительно некорректный. -------------------- |
|||
|
||||
| alexsmirnov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 23.8.2005 Репутация: 5 Всего: 7 |
Вобще-то, когда и сколько раз вызывается init() - это забота контейнера. Обычно создается pool instance сервлетов, Tomcat 5.5.12 это делает вообще при старте приложения, до каких-либо запросов. И далее из этого пула выбираются экземпляры для обработки. Поэтому, init() может вызваться раз 5 ( или как настроен контейнер ) до каких-либо запросов, если сервер перегружен - по мере поступления запросов пул может расширяться ( и опять будет вызываться init() ). А инициализированный сервлет обрабатывает МНОГО запросов - который из них тебе нужен ? Первый ? Сотый ? Миллионный ?
|
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 11 Всего: 77 |
Я так понимаю, вопрос в том, предоставляет ли сервер какое-то АПИ для считывания своих настроек.
Насколько мне понятна суть проблемы - это не имеет значения - конфигурация сервера всё равно одна. И если уточним порт при каждой инициализации нового сервлета - невелика беда. Вот только... можно ли это узнать? Каким-то документированным или недокументированным способом? Вроде бы всё катится к тому, что "нет" -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
![]()
|
| Правила форума "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. |