Ant path style patterns

Ant-style path patterns matching in spring-framework:

The mapping matches URLs using the following rules:

  • ? matches one character
  • * matches zero or more characters
  • ** matches zero or more ‘directories’ in a path
  • {spring:[a-z]+} matches the regexp [a-z]+ as a path variable named “spring”

Some examples:

  • com/t?st.jsp – matches com/test.jsp but also com/tast.jsp or com/txst.jsp
  • com/*.jsp – matches all .jsp files in the com directory
  • com/**/test.jsp – matches all test.jsp files underneath the com path
  • org/springframework/**/*.jsp – matches all .jsp files underneath the org/springframework path
  • org/**/servlet/bla.jsp – matches org/springframework/servlet/bla.jsp but also org/springframework/testing/servlet/bla.jsp and org/servlet/bla.jsp
  • com/{filename:\\w+}.jsp will match com/test.jsp and assign the value test to the filename variable

Leave a Comment