Ответ 1
/**
vs. /*
в настоящее время довольно распространен в инфраструктуре и обычно упоминается как Apache Ant Pathing
или что-то подобное. В принципе разница между 2 заключается в том, что /**
соответствует всему дереву каталогов, включая подкаталоги, где /*
соответствует только указанному на уровне.
Например, предположим, что у вас были следующие файлы
Main.java
directory/Main.java
Тогда
/*.java
Будет соответствовать Main.java
, но не directory/Main.java
, тогда как
/**/*.java
будет соответствовать обоим.
Очевидно, что принципы применимы точно так же для URL-адресов в Spring Security, просто в этом случае было проще проиллюстрировать его с помощью имен файлов.