Сервлет ххх недоступен - PullRequest
       5

Сервлет ххх недоступен

2 голосов
/ 05 апреля 2010

В файле web.xml моего веб-приложения я настроил сервер следующим образом:

 <servlet>
  <servlet-name>SOS</servlet-name>
  <servlet-class>cn.SOS</servlet-class>
  <init-param>
   <param-name>configFile</param-name>
   <param-value>/WEB-INF/conf/sos.config</param-value>
  </init-param>
  <init-param>
   <param-name>dbConfigFile</param-name>
   <param-value>/WEB-INF/conf/dssos.config</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>SOS</servlet-name>
  <url-pattern>/sos</url-pattern>
 </servlet-mapping>

Однако, когда я запрашиваю этот сервлет, я получаю сообщение об ошибке «Сервлет SOS недоступен», но я уверен, что этот сервлет существует в WEB-INFO / lib / sos.jar.И я видел работу инициализации под сервлетом из журналов.Интересно, почему кот не может найти сервлет?

Ответы [ 2 ]

1 голос
/ 05 апреля 2010

Короче говоря: любой из

HttpServlet SOS = new cn.SOS();
SOS.init(servletConfig);
SOS.init();

не удалось.

Прочитайте журналы сервера приложений для определения причины и устраните проблему соответствующим образом на основе исключения и трассировки стека. Если вы ничего не можете найти в журналах, то, скорее всего, что-то не получилось во время регистрации. Правильно ли настроен регистратор?

Другой причиной также может быть то, что вы просматриваете не те журналы. В Tomcat невосстановленные исключения обычно записываются в stderr, и это обычно не заканчивается в том же файле журнала, что и stdout. Более того, это полностью зависит от конфигурации регистрации.

Я бы сказал: запустите отладчик, если вы действительно не можете разобраться с журналированием.

0 голосов
/ 05 апреля 2010

Это не просто запись в web.xml. Экземпляр сервлета должен быть доступен после обработки запроса. В большинстве случаев ваш экземпляр сервлета может быть недоступен из-за какого-то исключения. Проверьте файл журнала, чтобы найти больше подсказок.

Также просмотрите код метода init сервлета. В основном, некоторые операции могли быть неудачными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...