问题 如果url模式匹配多个servlet怎么办?


<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到来,将调用哪个servlet?为什么?


1844
2017-10-29 09:50


起源



答案:


检查一下。简而言之:

  • 如果映射具有完全相同的模式,则无法保证将调用哪个servlet。所以避免这样做。
  • 如果图案重叠,则挑选最具体的图案。 (/abc 比具体更具体 /*

16
2017-10-29 09:53



很好的解释,提供的链接很棒,很容易掌握。 - CuriousMind
滤镜映射中的url-patter是否同样适用? - lads


答案:


检查一下。简而言之:

  • 如果映射具有完全相同的模式,则无法保证将调用哪个servlet。所以避免这样做。
  • 如果图案重叠,则挑选最具体的图案。 (/abc 比具体更具体 /*

16
2017-10-29 09:53



很好的解释,提供的链接很棒,很容易掌握。 - CuriousMind
滤镜映射中的url-patter是否同样适用? - lads