URL patterns use an extremely simple syntax. Every character in a pattern must match the corresponding character in the URL path exactly, with two exceptions. At the end of a pattern, /* matches any sequence of characters from that point forward. The pattern *.extension matches any file name ending with extension. No other wildcards are supported, and an asterisk at any other position in the pattern is not a wildcard.
First, the container prefers an exact path match over a wildcard path match. Second, the container prefers to match the longest pattern. Third, the container prefers path matches over filetype matches. Finally, the pattern <url-pattern>/</url-pattern> always matches any request that no other pattern matches
R. Khatchadourian, P. Greenwood, A. Rashid, and G. Xu. Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, page 575--579. Washington, DC, USA, IEEE Computer Society, (2009)
J. Illig, B. Roth, and D. Klakow. Proceedings of the 14th Conference of the European Chapter of the Association for Computational Linguistics, volume 2: Short Papers, page 100--105. Gothenburg, Sweden, Association for Computational Linguistics, (April 2014)
Y. Chan, and D. Roth. Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies - Volume 1, page 551--560. Stroudsburg, PA, USA, Association for Computational Linguistics, (2011)