Сведения о вопросе

Life

04:15, 13th August, 2020

java.lang.IllegalArgumentException: недопустимый в сопоставлении сервлетов

Просмотров: 415   Ответов: 2

<servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>workflow.WDispatcher</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>*NEXTEVENT*</url-pattern>
</servlet-mapping>

Выше приведен фрагмент из Tomcat web.xml . Паттерн URL *NEXTEVENT* при запуске выбрасывает

java.lang.IllegalArgumentException: недопустимый <url-pattern> в сопоставлении сервлетов

Мы будем очень признательны, если кто-то сможет намекнуть на ошибку.



  Сведения об ответе

прога

12:28, 27th August, 2020

<url-pattern>*NEXTEVENT*</url-pattern>

В URL шаблон является недопустимым. Он может заканчиваться звездочкой или начинаться с нее (для обозначения сопоставления расширений файлов).

Спецификация url-pattern:

  • Строка, начинающаяся с символа ‘/’ и заканчивающаяся символом' /*’ суффикс используется для отображения пути.
  • Строка, начинающаяся с ‘*.'префикс используется в качестве расширения отображение.
  • Строка, содержащая только символ’/’, указывает на "default" сервлет приложения. В этом если путь сервлета является запросом URI минус контекстный путь и информация о пути - это null.
  • Все остальные строки используются только для точного совпадения.

Смотрите раздел 12.2 спецификации сервлета Java версии 3.1 для получения более подробной информации.


  Сведения об ответе

PROGA

19:04, 18th August, 2020

Обходным путем, который может достичь этого, является добавление фильтра сервлета для выполнения URL повторных записей, например перепишите NEXTEVENT на /NEXTEVENT/ (тот, что перед NEXTEVENT)/ (тот, что после NEXTEVENT) или что-то подобное.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться