Mastering Ant‑Style Path Patterns in Spring MVC and Spring Security
This article explains the Ant‑style path matching syntax, its wildcards ?, *, **, the longest‑match rule, and demonstrates how to apply these patterns in Spring MVC controller mappings and Spring Security antMatchers for precise URI access control.
1. Introduction
In many Spring tutorials we encounter uri support for Ant‑style patterns, which are frequently mentioned in both Spring MVC and Spring Security. Understanding Ant patterns is essential for mastering URL matching in these frameworks.
2. Ant Style
The Ant style is a path‑matching expression used to match uri strings. It works similarly to regular expressions but is limited to path matching.
3. Ant Wildcards
Ant provides three wildcard symbols: ? matches any single character. * matches zero or more characters within a single directory level. ** matches zero or more directory levels.
3.1 Ant Wildcard Example
3.2 Longest‑Match Principle
When a uri matches multiple patterns, the one with the most characters wins (the longest match). For example, /ant/a/path matches both /**/path and /ant/*/path; the latter is chosen because it has more characters.
4. Ant Style in Spring MVC and Spring Security
4.1 Spring MVC
In a Spring MVC controller you can use Ant patterns in the mapping annotation:
@GetMapping("/?ant")
public String ant() {
return "ant";
}Any valid uri character can replace the ? wildcard, e.g., /bant matches the pattern.
4.2 Spring Security
Spring Security uses Ant patterns in antMatchers to control resource access:
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("admin").password("admin").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/index.html", "/static/**").permitAll()
.anyRequest().authenticated();
}
}The antMatchers method uses Ant wildcards to specify which URLs are publicly accessible.
5. Summary
Ant‑style path patterns are simple yet powerful tools for URI configuration, routing, and access control in web development. Mastering them is a must‑have skill for backend developers working with Spring MVC and Spring Security.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Programmer DD
A tinkering programmer and author of "Spring Cloud Microservices in Action"
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
