Что делать, если шаблон URL соответствует нескольким сервлетам? - PullRequest
11 голосов
/ 29 октября 2011
<servlet-mapping>
  <servlet-name> s1</servlet-name>
  <url-pattern> /abc </url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name> s2</servlet-name>
  <url-pattern> /abc </url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name> s3</servlet-name>
  <url-pattern> /* </url-pattern>
</servlet-mapping>

Какой сервлет будет вызываться, если приходит запрос / abc? И почему?

1 Ответ

16 голосов
/ 29 октября 2011

Проверьте это . Короче говоря:

  • если отображения имеют точно такой же шаблон, нет гарантии, какой сервлет будет вызван. Так что избегайте этого.
  • Если шаблоны перекрываются, выбирается наиболее конкретный. (/abc более конкретно, чем /*)
...