Некоторые сервлеты могут не иметь отображения на путь в дескрипторе развертывания web-приложения. Например, вы отлаживаете сервлет, развернули проект в контейнере, но забыли создать отображение. Каким образом пользователь может обратиться к этому сервлету?
Tomcat и другие контейнеры сервлетов предоставляют способ обращения к сервлетам, не отображенным в web.xml. Для этого используется URL следующей формы (для Tomcat):
http://http://www.yoursite.ru/servlets/<полностью квалифицированное имя класса сервлета>
Например, к сервлету с именем ru.topcode.testserv.FirstServlet можно обратиться с запросом с помощью URL http://localhost:8084/servlets/ru.topcode.testserv.FirstServlet.
Если к сервлету обращаются не по его зарегистрированному имени, а используя форму http://http://www.yoursite.ru/servlets/<полностью квалифицированное имя класса сервлета>, любые параметры инициализации, заданные в файле web.xml, недоступны.
Например:
<servlet> <servlet-name>Weather</servlet-name> <servlet-class>ru.topcode.testserv.Weather</servlet-class> <init-param> <param-name>region</param-name> <param-value>Москва</param-value> </init-param> </servlet>
Поскольку параметр с названием региона (region) связан с конкретным зарегистрированным именем, то только обращение с использованием этого имени (или пути к сервлету, отображенного на это имя) задействует параметр region. При обращении по полностью квалифицированному имени параметр region не будет передан сервлету Weather.


#1 by Николай on 7 Апрель 2011 - 12:49
Quote
Ну как мне кажется у твоего сервлет контейнера должно быть настроено следующее…
invoker
/servlet/*
Соответственно invoker тоже должен быть описан